diff --git a/briar-api/src/org/briarproject/api/serial/SerialComponent.java b/briar-api/src/org/briarproject/api/serial/SerialComponent.java deleted file mode 100644 index ecaf2c365779802d55faf4594f99386183ffed11..0000000000000000000000000000000000000000 --- a/briar-api/src/org/briarproject/api/serial/SerialComponent.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.briarproject.api.serial; - -public interface SerialComponent { - - int getSerialisedListStartLength(); - - int getSerialisedListEndLength(); - - int getSerialisedUniqueIdLength(); -} diff --git a/briar-api/src/org/briarproject/api/serial/SerialConstants.java b/briar-api/src/org/briarproject/api/serial/SerialConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..cf34d8cdc28efbdb79d9112a302e051139521a5b --- /dev/null +++ b/briar-api/src/org/briarproject/api/serial/SerialConstants.java @@ -0,0 +1,12 @@ +package org.briarproject.api.serial; + +import org.briarproject.api.UniqueId; + +public interface SerialConstants { + + int LIST_START_LENGTH = 1; + + int LIST_END_LENGTH = 1; + + int UNIQUE_ID_LENGTH = 2 + UniqueId.LENGTH; +} diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java b/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java index 46880fc0c5bbd5b58bc8980f47539acf87b6fe33..018b1bddffc7f18c8f2aa1ac66d51ef37e67f519 100644 --- a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java +++ b/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java @@ -6,22 +6,18 @@ import javax.inject.Inject; import org.briarproject.api.messaging.PacketWriter; import org.briarproject.api.messaging.PacketWriterFactory; -import org.briarproject.api.serial.SerialComponent; import org.briarproject.api.serial.WriterFactory; class PacketWriterFactoryImpl implements PacketWriterFactory { - private final SerialComponent serial; private final WriterFactory writerFactory; @Inject - PacketWriterFactoryImpl(SerialComponent serial, - WriterFactory writerFactory) { - this.serial = serial; + PacketWriterFactoryImpl(WriterFactory writerFactory) { this.writerFactory = writerFactory; } public PacketWriter createPacketWriter(OutputStream out) { - return new PacketWriterImpl(serial, writerFactory, out); + return new PacketWriterImpl(writerFactory, out); } } diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java b/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java index 68787848ab104a5fa3ac97bf03f8331a9f2b6cec..7db8bf2a38310b9903231240ef9ef0635653baf7 100644 --- a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java +++ b/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java @@ -12,6 +12,9 @@ import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_ACK; import static org.briarproject.api.messaging.PacketTypes.SUBSCRIPTION_UPDATE; import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_ACK; import static org.briarproject.api.messaging.PacketTypes.TRANSPORT_UPDATE; +import static org.briarproject.api.serial.SerialConstants.LIST_END_LENGTH; +import static org.briarproject.api.serial.SerialConstants.LIST_START_LENGTH; +import static org.briarproject.api.serial.SerialConstants.UNIQUE_ID_LENGTH; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -30,7 +33,6 @@ import org.briarproject.api.messaging.SubscriptionAck; import org.briarproject.api.messaging.SubscriptionUpdate; import org.briarproject.api.messaging.TransportAck; import org.briarproject.api.messaging.TransportUpdate; -import org.briarproject.api.serial.SerialComponent; import org.briarproject.api.serial.Writer; import org.briarproject.api.serial.WriterFactory; import org.briarproject.util.ByteUtils; @@ -38,15 +40,12 @@ import org.briarproject.util.ByteUtils; // This class is not thread-safe class PacketWriterImpl implements PacketWriter { - private final SerialComponent serial; private final WriterFactory writerFactory; private final OutputStream out; private final byte[] header; private final ByteArrayOutputStream payload; - PacketWriterImpl(SerialComponent serial, WriterFactory writerFactory, - OutputStream out) { - this.serial = serial; + PacketWriterImpl(WriterFactory writerFactory, OutputStream out) { this.writerFactory = writerFactory; this.out = out; header = new byte[HEADER_LENGTH]; @@ -69,10 +68,8 @@ class PacketWriterImpl implements PacketWriter { private int getMaxMessagesForPacket(long capacity) { int payload = (int) Math.min(capacity - HEADER_LENGTH, MAX_PAYLOAD_LENGTH); - int overhead = serial.getSerialisedListStartLength() * 2 - + serial.getSerialisedListEndLength() * 2; - int idLength = serial.getSerialisedUniqueIdLength(); - return (payload - overhead) / idLength; + int overhead = LIST_START_LENGTH * 2 + LIST_END_LENGTH * 2; + return (payload - overhead) / UNIQUE_ID_LENGTH; } private void writePacket(byte packetType) throws IOException { diff --git a/briar-core/src/org/briarproject/serial/SerialComponentImpl.java b/briar-core/src/org/briarproject/serial/SerialComponentImpl.java deleted file mode 100644 index ce6516260e5c65e2b6a7976985fa2c5ca8c9363f..0000000000000000000000000000000000000000 --- a/briar-core/src/org/briarproject/serial/SerialComponentImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.briarproject.serial; - -import org.briarproject.api.UniqueId; -import org.briarproject.api.serial.SerialComponent; - -class SerialComponentImpl implements SerialComponent { - - public int getSerialisedListStartLength() { - // LIST tag - return 1; - } - - public int getSerialisedListEndLength() { - // END tag - return 1; - } - - public int getSerialisedUniqueIdLength() { - // BYTES_8, BYTES_16 or BYTES_32 tag, length, bytes - return 1 + getLengthBytes(UniqueId.LENGTH) + UniqueId.LENGTH; - } - - private int getLengthBytes(int length) { - if(length <= Byte.MAX_VALUE) return 1; - if(length <= Short.MAX_VALUE) return 2; - return 4; - } -} diff --git a/briar-core/src/org/briarproject/serial/SerialModule.java b/briar-core/src/org/briarproject/serial/SerialModule.java index ca4c87480b6d23f78f531535362c2281438e16b4..8c3ec51596e9641c31651e79358ff96949cbc035 100644 --- a/briar-core/src/org/briarproject/serial/SerialModule.java +++ b/briar-core/src/org/briarproject/serial/SerialModule.java @@ -1,19 +1,15 @@ package org.briarproject.serial; -import javax.inject.Singleton; - import org.briarproject.api.serial.ReaderFactory; -import org.briarproject.api.serial.SerialComponent; import org.briarproject.api.serial.WriterFactory; import com.google.inject.AbstractModule; public class SerialModule extends AbstractModule { + @Override protected void configure() { bind(ReaderFactory.class).to(ReaderFactoryImpl.class); - bind(SerialComponent.class).to( - SerialComponentImpl.class).in(Singleton.class); bind(WriterFactory.class).to(WriterFactoryImpl.class); } } diff --git a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java b/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java index ec3562250a64237f926b4f02a65f7e8994ae46c9..dfd0e0ac245c1237bf5e07594381a2d9b25bee10 100644 --- a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java +++ b/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java @@ -5,6 +5,8 @@ import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENG import static org.briarproject.api.messaging.PacketTypes.ACK; import static org.briarproject.api.messaging.PacketTypes.OFFER; import static org.briarproject.api.messaging.PacketTypes.REQUEST; +import static org.briarproject.api.serial.SerialConstants.LIST_END_LENGTH; +import static org.briarproject.api.serial.SerialConstants.UNIQUE_ID_LENGTH; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -13,7 +15,6 @@ import org.briarproject.BriarTestCase; import org.briarproject.TestUtils; import org.briarproject.api.FormatException; import org.briarproject.api.serial.ReaderFactory; -import org.briarproject.api.serial.SerialComponent; import org.briarproject.api.serial.Writer; import org.briarproject.api.serial.WriterFactory; import org.briarproject.serial.SerialModule; @@ -27,13 +28,11 @@ public class PacketReaderImplTest extends BriarTestCase { // FIXME: This is an integration test, not a unit test - private final SerialComponent serial; private final ReaderFactory readerFactory; private final WriterFactory writerFactory; public PacketReaderImplTest() throws Exception { Injector i = Guice.createInjector(new SerialModule()); - serial = i.getInstance(SerialComponent.class); readerFactory = i.getInstance(ReaderFactory.class); writerFactory = i.getInstance(WriterFactory.class); } @@ -143,8 +142,7 @@ public class PacketReaderImplTest extends BriarTestCase { Writer w = writerFactory.createWriter(out); w.writeListStart(); w.writeListStart(); - while(out.size() + serial.getSerialisedUniqueIdLength() - + serial.getSerialisedListEndLength() * 2 + while(out.size() + UNIQUE_ID_LENGTH + LIST_END_LENGTH * 2 < HEADER_LENGTH + MAX_PAYLOAD_LENGTH) { w.writeBytes(TestUtils.getRandomId()); } @@ -178,8 +176,7 @@ public class PacketReaderImplTest extends BriarTestCase { Writer w = writerFactory.createWriter(out); w.writeListStart(); w.writeListStart(); - while(out.size() + serial.getSerialisedUniqueIdLength() - + serial.getSerialisedListEndLength() * 2 + while(out.size() + UNIQUE_ID_LENGTH + LIST_END_LENGTH * 2 < HEADER_LENGTH + MAX_PAYLOAD_LENGTH) { w.writeBytes(TestUtils.getRandomId()); } @@ -213,8 +210,7 @@ public class PacketReaderImplTest extends BriarTestCase { Writer w = writerFactory.createWriter(out); w.writeListStart(); w.writeListStart(); - while(out.size() + serial.getSerialisedUniqueIdLength() - + serial.getSerialisedListEndLength() * 2 + while(out.size() + UNIQUE_ID_LENGTH + LIST_END_LENGTH * 2 < HEADER_LENGTH + MAX_PAYLOAD_LENGTH) { w.writeBytes(TestUtils.getRandomId()); }