This commit is contained in:
Administrator
2025-04-24 10:16:38 +08:00
parent 6de65562be
commit 7267aec1fd
108 changed files with 7621 additions and 1890 deletions
+14 -57
View File
@@ -7,85 +7,50 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.kne.cloud.network.klalb.ByteArrayPool;
import org.kne.cloud.network.klalb.ByteBufferPool;
import org.kne.cloud.network.klalb.KLALBPacket;
import org.kne.debug.TimeDebugger;
public abstract class NetworkPacket implements Comparable<NetworkPacket>{
private static final boolean debugPassport=false;
public static final ByteBufferAllocator bufferAllocator=new ByteBufferAllocator(true);
public static final ByteArrayPool dataarraypool_65535=new ByteArrayPool(10000, 65535);
//public static final ByteArrayPool dataarraypool_65535=new ByteArrayPool(10000, 65535);
public static final ByteBufferPool databufferpool_65535=new ByteBufferPool(10000, 65535,false);
//public static final ByteBufferPool databufferpool_65535=new ByteBufferPool(10000, 65535,false);
public static final ByteBufferPool databufferpool_2048=new ByteBufferPool(10000, 2048,false);
//public static final ByteBufferPool databufferpool_2048=new ByteBufferPool(10000, 2048,false);
public static final ByteBufferPool databufferpool_40=new ByteBufferPool(10000, 40,false);
//public static final ByteBufferPool databufferpool_40=new ByteBufferPool(10000, 40,false);
private TimeDebugger passport;
private final TimeDebugger passport;
{
if(debugPassport) {
passport=new TimeDebugger();
passport.putTime(getClass().getSimpleName()+ "_create");
}else {
passport=null;
}
}
public void putTimePassport(String label) {
public final void putTimePassport(String label) {
if(passport!=null) {
passport.putTime(label);
}
}
public void printPassport() {
public final void printPassport() {
if(passport!=null) {
passport.printWithTimeFilter(100000000L);
}
}
private volatile boolean disposeAfterSend=false;
public boolean isDisposeAfterSend() {
return disposeAfterSend;
}
public void setDisposeAfterSend(boolean disposeAfterSend) {
this.disposeAfterSend = disposeAfterSend;
}
private volatile boolean disposed=false;
private Lock disposeLock=new ReentrantLock();
public boolean isDisposed() {
return disposed;
}
public Lock getDisposeLock() {
return disposeLock;
}
public abstract long getLength();
public void dispose() {
/*disposeLock.lock();
try {*/
disposed=true;
/*}finally {
disposeLock.unlock();
}*/
}
public void lockAll() {
disposeLock.lock();
}
public boolean isSomeDisposed() {
return disposed;
}
public void unlockAll() {
disposeLock.unlock();
}
public long getPriority() {
return priority;
@@ -118,22 +83,14 @@ public abstract class NetworkPacket implements Comparable<NetworkPacket>{
}
}
public void disposeAll() {
dispose();
}
public void doDisposeAfterSend() {
if(isDisposeAfterSend())
dispose();
}
public void genseq() {
this.sendseq=seqgen.getAndIncrement();
}
protected abstract void writeToChannel(WritableByteChannel dto) throws IOException ;
protected abstract void readFromChannel(ReadableByteChannel din,long length) throws IOException;
protected void readFromChannel(ReadableByteChannel din) throws IOException{
public abstract void writeToChannel(WritableByteChannel dto) throws IOException ;
public abstract void readFromChannel(ReadableByteChannel din,long length) throws IOException;
public void readFromChannel(ReadableByteChannel din) throws IOException{
readFromChannel(din,-1);
}
protected abstract boolean needEndPosition();