From 7759c10d23c9bb17a43d709480c83e1ab672c975 Mon Sep 17 00:00:00 2001 From: akwizgran <michael@briarproject.org> Date: Thu, 6 Dec 2012 16:57:31 +0000 Subject: [PATCH] Don't let references to this escape the constructor. --- .../briar/plugins/modem/ReliabilityLayer.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/briar-core/src/net/sf/briar/plugins/modem/ReliabilityLayer.java b/briar-core/src/net/sf/briar/plugins/modem/ReliabilityLayer.java index e61748ab90..26b28a76b8 100644 --- a/briar-core/src/net/sf/briar/plugins/modem/ReliabilityLayer.java +++ b/briar-core/src/net/sf/briar/plugins/modem/ReliabilityLayer.java @@ -16,28 +16,27 @@ class ReliabilityLayer implements ReadHandler, WriteHandler { Logger.getLogger(ReliabilityLayer.class.getName()); 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 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 boolean valid = true; ReliabilityLayer(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); Sender sender = new Sender(encoder); receiver = new Receiver(sender); decoder = new SlipDecoder(receiver); inputStream = new ReceiverInputStream(receiver); outputStream = new SenderOutputStream(sender); - writes = new LinkedBlockingQueue<byte[]>(); - } - - void init() { writer = new Thread("ReliabilityLayer") { @Override public void run() { -- GitLab