正式版V1.0

This commit is contained in:
Administrator
2023-01-07 07:04:09 +08:00
parent ea97e3891f
commit a9a4ad7c21
7 changed files with 65 additions and 60 deletions
@@ -11,6 +11,7 @@ import java.io.StreamCorruptedException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Queue;
import java.util.Random;
import java.util.UUID;
@@ -19,6 +20,7 @@ import java.util.concurrent.BlockingDeque;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.PriorityBlockingQueue;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.GZIPInputStream;
@@ -243,17 +245,31 @@ public class RemoteTCPConnection extends TCPConnection {
}
}
private Queue<KLALBBlock> NDsendDeque = new ConcurrentLinkedQueue<>();
private Queue<KLALBBlock> NDsendDeque = new ConcurrentLinkedQueue<KLALBBlock>();
public Queue<KLALBBlock> getNDSendDeque() {
return NDsendDeque;
}
private Queue<KLALBBlock> resendDeque = new ConcurrentLinkedQueue<>();
public Queue<KLALBBlock> getReSendDeque() {
return sendDeque;
}
private Queue<KLALBBlock> sendDeque = new ConcurrentLinkedQueue<>();
private Queue<KLALBBlock> sendDeque = new PriorityBlockingQueue<KLALBBlock>(2, new Comparator<KLALBBlock>() {
@Override
public int compare(KLALBBlock o1, KLALBBlock o2) {
if(o1.resend>o2.resend) {
return -1;
}else if(o1.resend<o2.resend) {
return 1;
}else {
if(o1.number>o2.number) {
return 1;
}else if(o1.number<o2.number) {
return -1;
}else {
return 0;
}
}
}
});
public Queue<KLALBBlock> getSendDeque() {
return sendDeque;