优化代码,性能暴涨

This commit is contained in:
Administrator
2025-01-29 14:01:11 +08:00
parent e243203535
commit 6de65562be
130 changed files with 9138 additions and 1020 deletions
@@ -0,0 +1,74 @@
package org.kne.cloud.network.srv6;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.io.Serializable;
import java.net.Inet6Address;
import java.nio.ByteBuffer;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
import java.nio.channels.WritableByteChannel;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import org.kne.cloud.network.NetworkPacket;
import org.kne.cloud.network.ipv6.Inet6AddressGroup;
public class RouterInfoPacket extends KLALBRoutingProtocolPacket implements Serializable{
public RouterInfoPacket(RouterInfo routerInfo, boolean flood) {
super(RINFO);
getHeader().put(1,(byte) (flood?1:0));
this.rinfo=routerInfo;
}
protected RouterInfoPacket(ByteBuffer bb) {
super(bb);
}
private RouterInfo rinfo;
public boolean isFlood() {
return (getHeader().get(1)&1)==1;
}
public RouterInfo getRinfo() {
return rinfo;
}
@Override
protected long getHeaderSize() {
return super.getHeaderSize()+1;
}
@Override
public long getLength() {
return super.getLength();
}
public void setRinfo(RouterInfo rinfo) {
this.rinfo = rinfo;
}
@Override
public String toString() {
return rinfo.toString();
}
@Override
protected void writeToChannel(WritableByteChannel dto) throws IOException {
super.writeToChannel(dto);
rinfo.writeToChannel(dto);
}
@Override
protected void readFromChannel(ReadableByteChannel din, long length) throws IOException {
super.readFromChannel(din, length);
rinfo=new RouterInfo();
rinfo.readFromChannel(din, length);
}
}