mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 15:19:53 +01:00
Don't let references to this escape the constructor.
This commit is contained in:
@@ -16,28 +16,27 @@ class ReliabilityLayer implements ReadHandler, WriteHandler {
|
|||||||
Logger.getLogger(ReliabilityLayer.class.getName());
|
Logger.getLogger(ReliabilityLayer.class.getName());
|
||||||
|
|
||||||
private final WriteHandler writeHandler;
|
private final WriteHandler writeHandler;
|
||||||
private final Receiver receiver;
|
|
||||||
private final SlipDecoder decoder;
|
|
||||||
private final ReceiverInputStream inputStream;
|
|
||||||
private final SenderOutputStream outputStream;
|
|
||||||
private final BlockingQueue<byte[]> writes;
|
private final BlockingQueue<byte[]> writes;
|
||||||
|
|
||||||
private volatile boolean valid = true;
|
private volatile Receiver receiver = null;
|
||||||
|
private volatile SlipDecoder decoder = null;
|
||||||
|
private volatile ReceiverInputStream inputStream = null;
|
||||||
|
private volatile SenderOutputStream outputStream = null;
|
||||||
private volatile Thread writer = null;
|
private volatile Thread writer = null;
|
||||||
|
private volatile boolean valid = true;
|
||||||
|
|
||||||
ReliabilityLayer(WriteHandler writeHandler) {
|
ReliabilityLayer(WriteHandler writeHandler) {
|
||||||
this.writeHandler = writeHandler;
|
this.writeHandler = writeHandler;
|
||||||
// FIXME: Don't let references to this escape the constructor
|
writes = new LinkedBlockingQueue<byte[]>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void init() {
|
||||||
SlipEncoder encoder = new SlipEncoder(this);
|
SlipEncoder encoder = new SlipEncoder(this);
|
||||||
Sender sender = new Sender(encoder);
|
Sender sender = new Sender(encoder);
|
||||||
receiver = new Receiver(sender);
|
receiver = new Receiver(sender);
|
||||||
decoder = new SlipDecoder(receiver);
|
decoder = new SlipDecoder(receiver);
|
||||||
inputStream = new ReceiverInputStream(receiver);
|
inputStream = new ReceiverInputStream(receiver);
|
||||||
outputStream = new SenderOutputStream(sender);
|
outputStream = new SenderOutputStream(sender);
|
||||||
writes = new LinkedBlockingQueue<byte[]>();
|
|
||||||
}
|
|
||||||
|
|
||||||
void init() {
|
|
||||||
writer = new Thread("ReliabilityLayer") {
|
writer = new Thread("ReliabilityLayer") {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|||||||
Reference in New Issue
Block a user