From b8e37a5421dfb165b268f682d7b63a38672a67ee Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Sat, 2 May 2015 20:39:24 +0100
Subject: [PATCH] Renamed serial component to data, moved consumers to
 briar-core.

---
 .../api/{serial => data}/Consumer.java        |  2 +-
 .../DataConstants.java}                       |  4 +-
 .../api/{serial => data}/ObjectReader.java    |  2 +-
 .../api/{serial => data}/Reader.java          |  2 +-
 .../api/{serial => data}/ReaderFactory.java   |  2 +-
 .../api/{serial => data}/Writer.java          |  2 +-
 .../api/{serial => data}/WriterFactory.java   |  2 +-
 .../{serial => data}/ReaderFactoryImpl.java   |  6 +--
 .../{serial => data}/ReaderImpl.java          | 40 ++++++++---------
 .../{serial => data}/SerialModule.java        |  6 +--
 .../ObjectTypes.java => data/Types.java}      |  4 +-
 .../{serial => data}/WriterFactoryImpl.java   |  6 +--
 .../{serial => data}/WriterImpl.java          | 44 +++++++++----------
 .../invitation/AliceConnector.java            |  8 ++--
 .../briarproject/invitation/BobConnector.java |  8 ++--
 .../briarproject/invitation/Connector.java    |  8 ++--
 .../invitation/ConnectorGroup.java            |  4 +-
 .../invitation/InvitationTaskFactoryImpl.java |  4 +-
 .../messaging/AuthorFactoryImpl.java          |  4 +-
 .../briarproject/messaging/AuthorReader.java  |  5 +--
 .../messaging}/CopyingConsumer.java           |  6 ++-
 .../messaging}/CountingConsumer.java          |  5 ++-
 .../messaging}/DigestingConsumer.java         |  5 ++-
 .../messaging/GroupFactoryImpl.java           |  4 +-
 .../briarproject/messaging/GroupReader.java   |  5 +--
 .../messaging/MessageFactoryImpl.java         |  9 ++--
 .../briarproject/messaging/MessageReader.java |  6 +--
 .../messaging/MessagingModule.java            |  2 +-
 .../messaging/PacketReaderFactoryImpl.java    |  4 +-
 .../messaging/PacketReaderImpl.java           |  6 +--
 .../messaging/PacketWriterFactoryImpl.java    |  2 +-
 .../messaging/PacketWriterImpl.java           | 10 ++---
 .../messaging}/SigningConsumer.java           |  5 ++-
 .../messaging/SubscriptionUpdateReader.java   |  7 ++-
 briar-tests/build.xml                         |  4 +-
 .../briarproject/ProtocolIntegrationTest.java |  2 +-
 .../{serial => data}/ReaderImplTest.java      |  2 +-
 .../{serial => data}/WriterImplTest.java      |  2 +-
 .../briarproject/messaging/ConstantsTest.java |  2 +-
 .../briarproject/messaging/ConsumersTest.java |  3 --
 .../messaging/PacketReaderImplTest.java       | 12 ++---
 .../SimplexMessagingIntegrationTest.java      |  2 +-
 42 files changed, 131 insertions(+), 137 deletions(-)
 rename briar-api/src/org/briarproject/api/{serial => data}/Consumer.java (81%)
 rename briar-api/src/org/briarproject/api/{serial/SerialConstants.java => data/DataConstants.java} (66%)
 rename briar-api/src/org/briarproject/api/{serial => data}/ObjectReader.java (75%)
 rename briar-api/src/org/briarproject/api/{serial => data}/Reader.java (97%)
 rename briar-api/src/org/briarproject/api/{serial => data}/ReaderFactory.java (73%)
 rename briar-api/src/org/briarproject/api/{serial => data}/Writer.java (95%)
 rename briar-api/src/org/briarproject/api/{serial => data}/WriterFactory.java (74%)
 rename briar-core/src/org/briarproject/{serial => data}/ReaderFactoryImpl.java (56%)
 rename briar-core/src/org/briarproject/{serial => data}/ReaderImpl.java (89%)
 rename briar-core/src/org/briarproject/{serial => data}/SerialModule.java (65%)
 rename briar-core/src/org/briarproject/{serial/ObjectTypes.java => data/Types.java} (85%)
 rename briar-core/src/org/briarproject/{serial => data}/WriterFactoryImpl.java (56%)
 rename briar-core/src/org/briarproject/{serial => data}/WriterImpl.java (79%)
 rename {briar-api/src/org/briarproject/api/serial => briar-core/src/org/briarproject/messaging}/CopyingConsumer.java (77%)
 rename {briar-api/src/org/briarproject/api/serial => briar-core/src/org/briarproject/messaging}/CountingConsumer.java (83%)
 rename {briar-api/src/org/briarproject/api/serial => briar-core/src/org/briarproject/messaging}/DigestingConsumer.java (76%)
 rename {briar-api/src/org/briarproject/api/serial => briar-core/src/org/briarproject/messaging}/SigningConsumer.java (75%)
 rename briar-tests/src/org/briarproject/{serial => data}/ReaderImplTest.java (99%)
 rename briar-tests/src/org/briarproject/{serial => data}/WriterImplTest.java (99%)

diff --git a/briar-api/src/org/briarproject/api/serial/Consumer.java b/briar-api/src/org/briarproject/api/data/Consumer.java
similarity index 81%
rename from briar-api/src/org/briarproject/api/serial/Consumer.java
rename to briar-api/src/org/briarproject/api/data/Consumer.java
index 5f555a5c23..d640ba2c08 100644
--- a/briar-api/src/org/briarproject/api/serial/Consumer.java
+++ b/briar-api/src/org/briarproject/api/data/Consumer.java
@@ -1,4 +1,4 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import java.io.IOException;
 
diff --git a/briar-api/src/org/briarproject/api/serial/SerialConstants.java b/briar-api/src/org/briarproject/api/data/DataConstants.java
similarity index 66%
rename from briar-api/src/org/briarproject/api/serial/SerialConstants.java
rename to briar-api/src/org/briarproject/api/data/DataConstants.java
index cf34d8cdc2..7ab04132e8 100644
--- a/briar-api/src/org/briarproject/api/serial/SerialConstants.java
+++ b/briar-api/src/org/briarproject/api/data/DataConstants.java
@@ -1,8 +1,8 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import org.briarproject.api.UniqueId;
 
-public interface SerialConstants {
+public interface DataConstants {
 
 	int LIST_START_LENGTH = 1;
 
diff --git a/briar-api/src/org/briarproject/api/serial/ObjectReader.java b/briar-api/src/org/briarproject/api/data/ObjectReader.java
similarity index 75%
rename from briar-api/src/org/briarproject/api/serial/ObjectReader.java
rename to briar-api/src/org/briarproject/api/data/ObjectReader.java
index 4606c33004..3c83d41f3e 100644
--- a/briar-api/src/org/briarproject/api/serial/ObjectReader.java
+++ b/briar-api/src/org/briarproject/api/data/ObjectReader.java
@@ -1,4 +1,4 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import java.io.IOException;
 
diff --git a/briar-api/src/org/briarproject/api/serial/Reader.java b/briar-api/src/org/briarproject/api/data/Reader.java
similarity index 97%
rename from briar-api/src/org/briarproject/api/serial/Reader.java
rename to briar-api/src/org/briarproject/api/data/Reader.java
index 401ec7930f..326f4a9e49 100644
--- a/briar-api/src/org/briarproject/api/serial/Reader.java
+++ b/briar-api/src/org/briarproject/api/data/Reader.java
@@ -1,4 +1,4 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import java.io.IOException;
 
diff --git a/briar-api/src/org/briarproject/api/serial/ReaderFactory.java b/briar-api/src/org/briarproject/api/data/ReaderFactory.java
similarity index 73%
rename from briar-api/src/org/briarproject/api/serial/ReaderFactory.java
rename to briar-api/src/org/briarproject/api/data/ReaderFactory.java
index 5b48bd43fc..a349fd4baf 100644
--- a/briar-api/src/org/briarproject/api/serial/ReaderFactory.java
+++ b/briar-api/src/org/briarproject/api/data/ReaderFactory.java
@@ -1,4 +1,4 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import java.io.InputStream;
 
diff --git a/briar-api/src/org/briarproject/api/serial/Writer.java b/briar-api/src/org/briarproject/api/data/Writer.java
similarity index 95%
rename from briar-api/src/org/briarproject/api/serial/Writer.java
rename to briar-api/src/org/briarproject/api/data/Writer.java
index 3d70451172..ae915a992c 100644
--- a/briar-api/src/org/briarproject/api/serial/Writer.java
+++ b/briar-api/src/org/briarproject/api/data/Writer.java
@@ -1,4 +1,4 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import java.io.IOException;
 import java.util.Collection;
diff --git a/briar-api/src/org/briarproject/api/serial/WriterFactory.java b/briar-api/src/org/briarproject/api/data/WriterFactory.java
similarity index 74%
rename from briar-api/src/org/briarproject/api/serial/WriterFactory.java
rename to briar-api/src/org/briarproject/api/data/WriterFactory.java
index 121de0eb0e..2fc1fd37d3 100644
--- a/briar-api/src/org/briarproject/api/serial/WriterFactory.java
+++ b/briar-api/src/org/briarproject/api/data/WriterFactory.java
@@ -1,4 +1,4 @@
-package org.briarproject.api.serial;
+package org.briarproject.api.data;
 
 import java.io.OutputStream;
 
diff --git a/briar-core/src/org/briarproject/serial/ReaderFactoryImpl.java b/briar-core/src/org/briarproject/data/ReaderFactoryImpl.java
similarity index 56%
rename from briar-core/src/org/briarproject/serial/ReaderFactoryImpl.java
rename to briar-core/src/org/briarproject/data/ReaderFactoryImpl.java
index 8c74509402..15b4376faa 100644
--- a/briar-core/src/org/briarproject/serial/ReaderFactoryImpl.java
+++ b/briar-core/src/org/briarproject/data/ReaderFactoryImpl.java
@@ -1,9 +1,9 @@
-package org.briarproject.serial;
+package org.briarproject.data;
 
 import java.io.InputStream;
 
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ReaderFactory;
+import org.briarproject.api.data.Reader;
+import org.briarproject.api.data.ReaderFactory;
 
 class ReaderFactoryImpl implements ReaderFactory {
 
diff --git a/briar-core/src/org/briarproject/serial/ReaderImpl.java b/briar-core/src/org/briarproject/data/ReaderImpl.java
similarity index 89%
rename from briar-core/src/org/briarproject/serial/ReaderImpl.java
rename to briar-core/src/org/briarproject/data/ReaderImpl.java
index efd4f88108..5011e0bf75 100644
--- a/briar-core/src/org/briarproject/serial/ReaderImpl.java
+++ b/briar-core/src/org/briarproject/data/ReaderImpl.java
@@ -1,20 +1,20 @@
-package org.briarproject.serial;
-
-import static org.briarproject.serial.ObjectTypes.END;
-import static org.briarproject.serial.ObjectTypes.FLOAT_64;
-import static org.briarproject.serial.ObjectTypes.INT_16;
-import static org.briarproject.serial.ObjectTypes.INT_32;
-import static org.briarproject.serial.ObjectTypes.INT_64;
-import static org.briarproject.serial.ObjectTypes.INT_8;
-import static org.briarproject.serial.ObjectTypes.LIST;
-import static org.briarproject.serial.ObjectTypes.MAP;
-import static org.briarproject.serial.ObjectTypes.NULL;
-import static org.briarproject.serial.ObjectTypes.RAW_16;
-import static org.briarproject.serial.ObjectTypes.RAW_32;
-import static org.briarproject.serial.ObjectTypes.RAW_8;
-import static org.briarproject.serial.ObjectTypes.STRING_16;
-import static org.briarproject.serial.ObjectTypes.STRING_32;
-import static org.briarproject.serial.ObjectTypes.STRING_8;
+package org.briarproject.data;
+
+import static org.briarproject.data.Types.END;
+import static org.briarproject.data.Types.FLOAT_64;
+import static org.briarproject.data.Types.INT_16;
+import static org.briarproject.data.Types.INT_32;
+import static org.briarproject.data.Types.INT_64;
+import static org.briarproject.data.Types.INT_8;
+import static org.briarproject.data.Types.LIST;
+import static org.briarproject.data.Types.MAP;
+import static org.briarproject.data.Types.NULL;
+import static org.briarproject.data.Types.RAW_16;
+import static org.briarproject.data.Types.RAW_32;
+import static org.briarproject.data.Types.RAW_8;
+import static org.briarproject.data.Types.STRING_16;
+import static org.briarproject.data.Types.STRING_32;
+import static org.briarproject.data.Types.STRING_8;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -22,8 +22,8 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.briarproject.api.FormatException;
-import org.briarproject.api.serial.Consumer;
-import org.briarproject.api.serial.Reader;
+import org.briarproject.api.data.Consumer;
+import org.briarproject.api.data.Reader;
 
 // This class is not thread-safe
 class ReaderImpl implements Reader {
@@ -133,7 +133,7 @@ class ReaderImpl implements Reader {
 	public boolean hasBoolean() throws IOException {
 		if(!hasLookahead) readLookahead();
 		if(eof) return false;
-		return next == ObjectTypes.BOOLEAN;
+		return next == Types.BOOLEAN;
 	}
 
 	public boolean readBoolean() throws IOException {
diff --git a/briar-core/src/org/briarproject/serial/SerialModule.java b/briar-core/src/org/briarproject/data/SerialModule.java
similarity index 65%
rename from briar-core/src/org/briarproject/serial/SerialModule.java
rename to briar-core/src/org/briarproject/data/SerialModule.java
index 8c3ec51596..b18f57fafb 100644
--- a/briar-core/src/org/briarproject/serial/SerialModule.java
+++ b/briar-core/src/org/briarproject/data/SerialModule.java
@@ -1,7 +1,7 @@
-package org.briarproject.serial;
+package org.briarproject.data;
 
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.WriterFactory;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.WriterFactory;
 
 import com.google.inject.AbstractModule;
 
diff --git a/briar-core/src/org/briarproject/serial/ObjectTypes.java b/briar-core/src/org/briarproject/data/Types.java
similarity index 85%
rename from briar-core/src/org/briarproject/serial/ObjectTypes.java
rename to briar-core/src/org/briarproject/data/Types.java
index 69bd14174f..ae64f49673 100644
--- a/briar-core/src/org/briarproject/serial/ObjectTypes.java
+++ b/briar-core/src/org/briarproject/data/Types.java
@@ -1,6 +1,6 @@
-package org.briarproject.serial;
+package org.briarproject.data;
 
-interface ObjectTypes {
+interface Types {
 
 	byte NULL = 0x00;
 	byte BOOLEAN = 0x11;
diff --git a/briar-core/src/org/briarproject/serial/WriterFactoryImpl.java b/briar-core/src/org/briarproject/data/WriterFactoryImpl.java
similarity index 56%
rename from briar-core/src/org/briarproject/serial/WriterFactoryImpl.java
rename to briar-core/src/org/briarproject/data/WriterFactoryImpl.java
index f3aaf738d8..d8e651d78f 100644
--- a/briar-core/src/org/briarproject/serial/WriterFactoryImpl.java
+++ b/briar-core/src/org/briarproject/data/WriterFactoryImpl.java
@@ -1,9 +1,9 @@
-package org.briarproject.serial;
+package org.briarproject.data;
 
 import java.io.OutputStream;
 
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 
 class WriterFactoryImpl implements WriterFactory {
 
diff --git a/briar-core/src/org/briarproject/serial/WriterImpl.java b/briar-core/src/org/briarproject/data/WriterImpl.java
similarity index 79%
rename from briar-core/src/org/briarproject/serial/WriterImpl.java
rename to briar-core/src/org/briarproject/data/WriterImpl.java
index 4b7a2de937..fa6c066345 100644
--- a/briar-core/src/org/briarproject/serial/WriterImpl.java
+++ b/briar-core/src/org/briarproject/data/WriterImpl.java
@@ -1,21 +1,21 @@
-package org.briarproject.serial;
-
-import static org.briarproject.serial.ObjectTypes.BOOLEAN;
-import static org.briarproject.serial.ObjectTypes.END;
-import static org.briarproject.serial.ObjectTypes.FLOAT_64;
-import static org.briarproject.serial.ObjectTypes.INT_16;
-import static org.briarproject.serial.ObjectTypes.INT_32;
-import static org.briarproject.serial.ObjectTypes.INT_64;
-import static org.briarproject.serial.ObjectTypes.INT_8;
-import static org.briarproject.serial.ObjectTypes.LIST;
-import static org.briarproject.serial.ObjectTypes.MAP;
-import static org.briarproject.serial.ObjectTypes.NULL;
-import static org.briarproject.serial.ObjectTypes.RAW_16;
-import static org.briarproject.serial.ObjectTypes.RAW_32;
-import static org.briarproject.serial.ObjectTypes.RAW_8;
-import static org.briarproject.serial.ObjectTypes.STRING_16;
-import static org.briarproject.serial.ObjectTypes.STRING_32;
-import static org.briarproject.serial.ObjectTypes.STRING_8;
+package org.briarproject.data;
+
+import static org.briarproject.data.Types.BOOLEAN;
+import static org.briarproject.data.Types.END;
+import static org.briarproject.data.Types.FLOAT_64;
+import static org.briarproject.data.Types.INT_16;
+import static org.briarproject.data.Types.INT_32;
+import static org.briarproject.data.Types.INT_64;
+import static org.briarproject.data.Types.INT_8;
+import static org.briarproject.data.Types.LIST;
+import static org.briarproject.data.Types.MAP;
+import static org.briarproject.data.Types.NULL;
+import static org.briarproject.data.Types.RAW_16;
+import static org.briarproject.data.Types.RAW_32;
+import static org.briarproject.data.Types.RAW_8;
+import static org.briarproject.data.Types.STRING_16;
+import static org.briarproject.data.Types.STRING_32;
+import static org.briarproject.data.Types.STRING_8;
 
 import java.io.IOException;
 import java.io.OutputStream;
@@ -26,8 +26,8 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 import org.briarproject.api.Bytes;
-import org.briarproject.api.serial.Consumer;
-import org.briarproject.api.serial.Writer;
+import org.briarproject.api.data.Consumer;
+import org.briarproject.api.data.Writer;
 
 // This class is not thread-safe
 class WriterImpl implements Writer {
@@ -139,9 +139,9 @@ class WriterImpl implements Writer {
 	}
 
 	public void writeList(Collection<?> c) throws IOException {
-		write(ObjectTypes.LIST);
+		write(Types.LIST);
 		for(Object o : c) writeObject(o);
-		write(ObjectTypes.END);
+		write(Types.END);
 	}
 
 	private void writeObject(Object o) throws IOException {
diff --git a/briar-core/src/org/briarproject/invitation/AliceConnector.java b/briar-core/src/org/briarproject/invitation/AliceConnector.java
index e166398cc4..1821590289 100644
--- a/briar-core/src/org/briarproject/invitation/AliceConnector.java
+++ b/briar-core/src/org/briarproject/invitation/AliceConnector.java
@@ -18,16 +18,16 @@ import org.briarproject.api.TransportProperties;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.KeyManager;
 import org.briarproject.api.crypto.PseudoRandom;
+import org.briarproject.api.data.Reader;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.db.DatabaseComponent;
 import org.briarproject.api.db.DbException;
 import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.plugins.ConnectionManager;
 import org.briarproject.api.plugins.duplex.DuplexPlugin;
 import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.api.system.Clock;
 import org.briarproject.api.transport.StreamReaderFactory;
 import org.briarproject.api.transport.StreamWriterFactory;
diff --git a/briar-core/src/org/briarproject/invitation/BobConnector.java b/briar-core/src/org/briarproject/invitation/BobConnector.java
index 5dc5f11737..014ed752c9 100644
--- a/briar-core/src/org/briarproject/invitation/BobConnector.java
+++ b/briar-core/src/org/briarproject/invitation/BobConnector.java
@@ -18,16 +18,16 @@ import org.briarproject.api.TransportProperties;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.KeyManager;
 import org.briarproject.api.crypto.PseudoRandom;
+import org.briarproject.api.data.Reader;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.db.DatabaseComponent;
 import org.briarproject.api.db.DbException;
 import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.plugins.ConnectionManager;
 import org.briarproject.api.plugins.duplex.DuplexPlugin;
 import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.api.system.Clock;
 import org.briarproject.api.transport.StreamReaderFactory;
 import org.briarproject.api.transport.StreamWriterFactory;
diff --git a/briar-core/src/org/briarproject/invitation/Connector.java b/briar-core/src/org/briarproject/invitation/Connector.java
index 61191730dd..cf85fc9f03 100644
--- a/briar-core/src/org/briarproject/invitation/Connector.java
+++ b/briar-core/src/org/briarproject/invitation/Connector.java
@@ -36,6 +36,10 @@ import org.briarproject.api.crypto.KeyParser;
 import org.briarproject.api.crypto.MessageDigest;
 import org.briarproject.api.crypto.PseudoRandom;
 import org.briarproject.api.crypto.Signature;
+import org.briarproject.api.data.Reader;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.db.DatabaseComponent;
 import org.briarproject.api.db.DbException;
 import org.briarproject.api.db.NoSuchTransportException;
@@ -44,10 +48,6 @@ import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.plugins.ConnectionManager;
 import org.briarproject.api.plugins.duplex.DuplexPlugin;
 import org.briarproject.api.plugins.duplex.DuplexTransportConnection;
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.api.system.Clock;
 import org.briarproject.api.transport.Endpoint;
 import org.briarproject.api.transport.StreamReaderFactory;
diff --git a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java
index 97bd39ddaa..7c676e5209 100644
--- a/briar-core/src/org/briarproject/invitation/ConnectorGroup.java
+++ b/briar-core/src/org/briarproject/invitation/ConnectorGroup.java
@@ -23,6 +23,8 @@ import org.briarproject.api.TransportProperties;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.KeyManager;
 import org.briarproject.api.crypto.PseudoRandom;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.db.DatabaseComponent;
 import org.briarproject.api.db.DbException;
 import org.briarproject.api.invitation.InvitationListener;
@@ -32,8 +34,6 @@ import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.plugins.ConnectionManager;
 import org.briarproject.api.plugins.PluginManager;
 import org.briarproject.api.plugins.duplex.DuplexPlugin;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.api.system.Clock;
 import org.briarproject.api.transport.StreamReaderFactory;
 import org.briarproject.api.transport.StreamWriterFactory;
diff --git a/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java b/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java
index 2cfae0a2fd..6f460e8f72 100644
--- a/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java
+++ b/briar-core/src/org/briarproject/invitation/InvitationTaskFactoryImpl.java
@@ -6,14 +6,14 @@ import org.briarproject.api.AuthorFactory;
 import org.briarproject.api.AuthorId;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.KeyManager;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.db.DatabaseComponent;
 import org.briarproject.api.invitation.InvitationTask;
 import org.briarproject.api.invitation.InvitationTaskFactory;
 import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.plugins.ConnectionManager;
 import org.briarproject.api.plugins.PluginManager;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.api.system.Clock;
 import org.briarproject.api.transport.StreamReaderFactory;
 import org.briarproject.api.transport.StreamWriterFactory;
diff --git a/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java b/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java
index e9c05a92a1..0566da46d7 100644
--- a/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java
+++ b/briar-core/src/org/briarproject/messaging/AuthorFactoryImpl.java
@@ -11,8 +11,8 @@ import org.briarproject.api.AuthorId;
 import org.briarproject.api.LocalAuthor;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.MessageDigest;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.system.Clock;
 
 class AuthorFactoryImpl implements AuthorFactory {
diff --git a/briar-core/src/org/briarproject/messaging/AuthorReader.java b/briar-core/src/org/briarproject/messaging/AuthorReader.java
index cdb1c958ae..1ac309eea8 100644
--- a/briar-core/src/org/briarproject/messaging/AuthorReader.java
+++ b/briar-core/src/org/briarproject/messaging/AuthorReader.java
@@ -10,9 +10,8 @@ import org.briarproject.api.AuthorId;
 import org.briarproject.api.FormatException;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.MessageDigest;
-import org.briarproject.api.serial.DigestingConsumer;
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ObjectReader;
+import org.briarproject.api.data.ObjectReader;
+import org.briarproject.api.data.Reader;
 
 class AuthorReader implements ObjectReader<Author> {
 
diff --git a/briar-api/src/org/briarproject/api/serial/CopyingConsumer.java b/briar-core/src/org/briarproject/messaging/CopyingConsumer.java
similarity index 77%
rename from briar-api/src/org/briarproject/api/serial/CopyingConsumer.java
rename to briar-core/src/org/briarproject/messaging/CopyingConsumer.java
index b06e0a8437..76bbd49adc 100644
--- a/briar-api/src/org/briarproject/api/serial/CopyingConsumer.java
+++ b/briar-core/src/org/briarproject/messaging/CopyingConsumer.java
@@ -1,10 +1,12 @@
-package org.briarproject.api.serial;
+package org.briarproject.messaging;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
+import org.briarproject.api.data.Consumer;
+
 /** A consumer that makes a copy of the bytes consumed. */
-public class CopyingConsumer implements Consumer {
+class CopyingConsumer implements Consumer {
 
 	private final ByteArrayOutputStream out = new ByteArrayOutputStream();
 
diff --git a/briar-api/src/org/briarproject/api/serial/CountingConsumer.java b/briar-core/src/org/briarproject/messaging/CountingConsumer.java
similarity index 83%
rename from briar-api/src/org/briarproject/api/serial/CountingConsumer.java
rename to briar-core/src/org/briarproject/messaging/CountingConsumer.java
index 8c41899c61..a9971a9015 100644
--- a/briar-api/src/org/briarproject/api/serial/CountingConsumer.java
+++ b/briar-core/src/org/briarproject/messaging/CountingConsumer.java
@@ -1,14 +1,15 @@
-package org.briarproject.api.serial;
+package org.briarproject.messaging;
 
 import java.io.IOException;
 
 import org.briarproject.api.FormatException;
+import org.briarproject.api.data.Consumer;
 
 /**
  * A consumer that counts the number of bytes consumed and throws a
  * FormatException if the count exceeds a given limit.
  */
-public class CountingConsumer implements Consumer {
+class CountingConsumer implements Consumer {
 
 	private final long limit;
 	private long count = 0;
diff --git a/briar-api/src/org/briarproject/api/serial/DigestingConsumer.java b/briar-core/src/org/briarproject/messaging/DigestingConsumer.java
similarity index 76%
rename from briar-api/src/org/briarproject/api/serial/DigestingConsumer.java
rename to briar-core/src/org/briarproject/messaging/DigestingConsumer.java
index 1d9420b54e..e9bb102eb0 100644
--- a/briar-api/src/org/briarproject/api/serial/DigestingConsumer.java
+++ b/briar-core/src/org/briarproject/messaging/DigestingConsumer.java
@@ -1,9 +1,10 @@
-package org.briarproject.api.serial;
+package org.briarproject.messaging;
 
 import org.briarproject.api.crypto.MessageDigest;
+import org.briarproject.api.data.Consumer;
 
 /** A consumer that passes its input through a message digest. */
-public class DigestingConsumer implements Consumer {
+class DigestingConsumer implements Consumer {
 
 	private final MessageDigest messageDigest;
 
diff --git a/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java b/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java
index b2f3e0cad9..04afa129e0 100644
--- a/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java
+++ b/briar-core/src/org/briarproject/messaging/GroupFactoryImpl.java
@@ -9,11 +9,11 @@ import javax.inject.Inject;
 
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.MessageDigest;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.messaging.GroupId;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
 
 class GroupFactoryImpl implements GroupFactory {
 
diff --git a/briar-core/src/org/briarproject/messaging/GroupReader.java b/briar-core/src/org/briarproject/messaging/GroupReader.java
index 1bfd090f8d..db5f09b68f 100644
--- a/briar-core/src/org/briarproject/messaging/GroupReader.java
+++ b/briar-core/src/org/briarproject/messaging/GroupReader.java
@@ -8,11 +8,10 @@ import java.io.IOException;
 import org.briarproject.api.FormatException;
 import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.MessageDigest;
+import org.briarproject.api.data.ObjectReader;
+import org.briarproject.api.data.Reader;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.GroupId;
-import org.briarproject.api.serial.DigestingConsumer;
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ObjectReader;
 
 class GroupReader implements ObjectReader<Group> {
 
diff --git a/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java b/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java
index 03a1b7d399..d3e6651fb5 100644
--- a/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java
+++ b/briar-core/src/org/briarproject/messaging/MessageFactoryImpl.java
@@ -18,16 +18,13 @@ import org.briarproject.api.crypto.CryptoComponent;
 import org.briarproject.api.crypto.MessageDigest;
 import org.briarproject.api.crypto.PrivateKey;
 import org.briarproject.api.crypto.Signature;
+import org.briarproject.api.data.Consumer;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.Message;
 import org.briarproject.api.messaging.MessageFactory;
 import org.briarproject.api.messaging.MessageId;
-import org.briarproject.api.serial.Consumer;
-import org.briarproject.api.serial.CountingConsumer;
-import org.briarproject.api.serial.DigestingConsumer;
-import org.briarproject.api.serial.SigningConsumer;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.util.StringUtils;
 
 class MessageFactoryImpl implements MessageFactory {
diff --git a/briar-core/src/org/briarproject/messaging/MessageReader.java b/briar-core/src/org/briarproject/messaging/MessageReader.java
index 6069eb8d49..1c7ba8bc74 100644
--- a/briar-core/src/org/briarproject/messaging/MessageReader.java
+++ b/briar-core/src/org/briarproject/messaging/MessageReader.java
@@ -11,13 +11,11 @@ import java.io.IOException;
 import org.briarproject.api.Author;
 import org.briarproject.api.FormatException;
 import org.briarproject.api.UniqueId;
+import org.briarproject.api.data.ObjectReader;
+import org.briarproject.api.data.Reader;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.MessageId;
 import org.briarproject.api.messaging.UnverifiedMessage;
-import org.briarproject.api.serial.CopyingConsumer;
-import org.briarproject.api.serial.CountingConsumer;
-import org.briarproject.api.serial.ObjectReader;
-import org.briarproject.api.serial.Reader;
 
 class MessageReader implements ObjectReader<UnverifiedMessage> {
 
diff --git a/briar-core/src/org/briarproject/messaging/MessagingModule.java b/briar-core/src/org/briarproject/messaging/MessagingModule.java
index a209155b95..1b58a8e577 100644
--- a/briar-core/src/org/briarproject/messaging/MessagingModule.java
+++ b/briar-core/src/org/briarproject/messaging/MessagingModule.java
@@ -5,6 +5,7 @@ import javax.inject.Singleton;
 import org.briarproject.api.Author;
 import org.briarproject.api.AuthorFactory;
 import org.briarproject.api.crypto.CryptoComponent;
+import org.briarproject.api.data.ObjectReader;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.GroupFactory;
 import org.briarproject.api.messaging.MessageFactory;
@@ -14,7 +15,6 @@ import org.briarproject.api.messaging.PacketReaderFactory;
 import org.briarproject.api.messaging.PacketWriterFactory;
 import org.briarproject.api.messaging.SubscriptionUpdate;
 import org.briarproject.api.messaging.UnverifiedMessage;
-import org.briarproject.api.serial.ObjectReader;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
diff --git a/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java b/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java
index 5e9879554a..1bca8fcee6 100644
--- a/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java
+++ b/briar-core/src/org/briarproject/messaging/PacketReaderFactoryImpl.java
@@ -4,12 +4,12 @@ import java.io.InputStream;
 
 import javax.inject.Inject;
 
+import org.briarproject.api.data.ObjectReader;
+import org.briarproject.api.data.ReaderFactory;
 import org.briarproject.api.messaging.PacketReader;
 import org.briarproject.api.messaging.PacketReaderFactory;
 import org.briarproject.api.messaging.SubscriptionUpdate;
 import org.briarproject.api.messaging.UnverifiedMessage;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.ObjectReader;
 
 class PacketReaderFactoryImpl implements PacketReaderFactory {
 
diff --git a/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java b/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java
index 8a13733f4e..e23605654c 100644
--- a/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java
+++ b/briar-core/src/org/briarproject/messaging/PacketReaderImpl.java
@@ -30,6 +30,9 @@ import org.briarproject.api.FormatException;
 import org.briarproject.api.TransportId;
 import org.briarproject.api.TransportProperties;
 import org.briarproject.api.UniqueId;
+import org.briarproject.api.data.ObjectReader;
+import org.briarproject.api.data.Reader;
+import org.briarproject.api.data.ReaderFactory;
 import org.briarproject.api.messaging.Ack;
 import org.briarproject.api.messaging.MessageId;
 import org.briarproject.api.messaging.Offer;
@@ -42,9 +45,6 @@ import org.briarproject.api.messaging.SubscriptionUpdate;
 import org.briarproject.api.messaging.TransportAck;
 import org.briarproject.api.messaging.TransportUpdate;
 import org.briarproject.api.messaging.UnverifiedMessage;
-import org.briarproject.api.serial.Reader;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.ObjectReader;
 import org.briarproject.util.ByteUtils;
 
 // This class is not thread-safe
diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java b/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java
index 018b1bddff..e3d7717741 100644
--- a/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java
+++ b/briar-core/src/org/briarproject/messaging/PacketWriterFactoryImpl.java
@@ -4,9 +4,9 @@ import java.io.OutputStream;
 
 import javax.inject.Inject;
 
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.messaging.PacketWriter;
 import org.briarproject.api.messaging.PacketWriterFactory;
-import org.briarproject.api.serial.WriterFactory;
 
 class PacketWriterFactoryImpl implements PacketWriterFactory {
 
diff --git a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java b/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java
index 7db8bf2a38..c2cf06003d 100644
--- a/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java
+++ b/briar-core/src/org/briarproject/messaging/PacketWriterImpl.java
@@ -1,5 +1,8 @@
 package org.briarproject.messaging;
 
+import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH;
+import static org.briarproject.api.data.DataConstants.LIST_START_LENGTH;
+import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH;
 import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH;
 import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH;
 import static org.briarproject.api.messaging.MessagingConstants.PROTOCOL_VERSION;
@@ -12,14 +15,13 @@ 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;
 import java.io.OutputStream;
 
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
 import org.briarproject.api.messaging.Ack;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.MessageId;
@@ -33,8 +35,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.Writer;
-import org.briarproject.api.serial.WriterFactory;
 import org.briarproject.util.ByteUtils;
 
 // This class is not thread-safe
diff --git a/briar-api/src/org/briarproject/api/serial/SigningConsumer.java b/briar-core/src/org/briarproject/messaging/SigningConsumer.java
similarity index 75%
rename from briar-api/src/org/briarproject/api/serial/SigningConsumer.java
rename to briar-core/src/org/briarproject/messaging/SigningConsumer.java
index ac6a286208..137cd8c614 100644
--- a/briar-api/src/org/briarproject/api/serial/SigningConsumer.java
+++ b/briar-core/src/org/briarproject/messaging/SigningConsumer.java
@@ -1,9 +1,10 @@
-package org.briarproject.api.serial;
+package org.briarproject.messaging;
 
 import org.briarproject.api.crypto.Signature;
+import org.briarproject.api.data.Consumer;
 
 /** A consumer that passes its input through a signature. */
-public class SigningConsumer implements Consumer {
+class SigningConsumer implements Consumer {
 
 	private final Signature signature;
 
diff --git a/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java b/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java
index 67d7dd88c5..1346b2349f 100644
--- a/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java
+++ b/briar-core/src/org/briarproject/messaging/SubscriptionUpdateReader.java
@@ -11,13 +11,12 @@ import java.util.List;
 import java.util.Set;
 
 import org.briarproject.api.FormatException;
+import org.briarproject.api.data.Consumer;
+import org.briarproject.api.data.ObjectReader;
+import org.briarproject.api.data.Reader;
 import org.briarproject.api.messaging.Group;
 import org.briarproject.api.messaging.GroupId;
 import org.briarproject.api.messaging.SubscriptionUpdate;
-import org.briarproject.api.serial.Consumer;
-import org.briarproject.api.serial.CountingConsumer;
-import org.briarproject.api.serial.ObjectReader;
-import org.briarproject.api.serial.Reader;
 
 class SubscriptionUpdateReader implements ObjectReader<SubscriptionUpdate> {
 
diff --git a/briar-tests/build.xml b/briar-tests/build.xml
index eb4766a090..338812a5dd 100644
--- a/briar-tests/build.xml
+++ b/briar-tests/build.xml
@@ -103,6 +103,8 @@
 			<test name="org.briarproject.crypto.PasswordStrengthEstimatorImplTest"/>
 			<test name='org.briarproject.crypto.StreamDecrypterImplTest'/>
 			<test name='org.briarproject.crypto.StreamEncrypterImplTest'/>
+			<test name='org.briarproject.data.ReaderImplTest'/>
+			<test name='org.briarproject.data.WriterImplTest'/>
 			<test name='org.briarproject.db.BasicH2Test'/>
 			<test name='org.briarproject.db.DatabaseCleanerImplTest'/>
 			<test name='org.briarproject.db.DatabaseComponentImplTest'/>
@@ -124,8 +126,6 @@
 			<test name='org.briarproject.plugins.modem.CountryCodesTest'/>
 			<test name='org.briarproject.plugins.modem.ModemPluginTest'/>
 			<test name='org.briarproject.plugins.tcp.LanTcpPluginTest'/>
-			<test name='org.briarproject.serial.ReaderImplTest'/>
-			<test name='org.briarproject.serial.WriterImplTest'/>
 			<test name='org.briarproject.system.LinuxSeedProviderTest'/>
 			<test name='org.briarproject.transport.KeyManagerImplTest'/>
 			<test name='org.briarproject.transport.KeyRotationIntegrationTest'/>
diff --git a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java
index 633a4929ad..4fcb7dfb61 100644
--- a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java
+++ b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java
@@ -39,10 +39,10 @@ import org.briarproject.api.transport.StreamContext;
 import org.briarproject.api.transport.StreamReaderFactory;
 import org.briarproject.api.transport.StreamWriterFactory;
 import org.briarproject.crypto.CryptoModule;
+import org.briarproject.data.SerialModule;
 import org.briarproject.db.DatabaseModule;
 import org.briarproject.event.EventModule;
 import org.briarproject.messaging.MessagingModule;
-import org.briarproject.serial.SerialModule;
 import org.briarproject.transport.TransportModule;
 import org.junit.Test;
 
diff --git a/briar-tests/src/org/briarproject/serial/ReaderImplTest.java b/briar-tests/src/org/briarproject/data/ReaderImplTest.java
similarity index 99%
rename from briar-tests/src/org/briarproject/serial/ReaderImplTest.java
rename to briar-tests/src/org/briarproject/data/ReaderImplTest.java
index 6b093c2e02..d9e389ab89 100644
--- a/briar-tests/src/org/briarproject/serial/ReaderImplTest.java
+++ b/briar-tests/src/org/briarproject/data/ReaderImplTest.java
@@ -1,4 +1,4 @@
-package org.briarproject.serial;
+package org.briarproject.data;
 
 import static org.junit.Assert.assertArrayEquals;
 
diff --git a/briar-tests/src/org/briarproject/serial/WriterImplTest.java b/briar-tests/src/org/briarproject/data/WriterImplTest.java
similarity index 99%
rename from briar-tests/src/org/briarproject/serial/WriterImplTest.java
rename to briar-tests/src/org/briarproject/data/WriterImplTest.java
index 4a73af42c6..ab145c0ad4 100644
--- a/briar-tests/src/org/briarproject/serial/WriterImplTest.java
+++ b/briar-tests/src/org/briarproject/data/WriterImplTest.java
@@ -1,4 +1,4 @@
-package org.briarproject.serial;
+package org.briarproject.data;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/briar-tests/src/org/briarproject/messaging/ConstantsTest.java b/briar-tests/src/org/briarproject/messaging/ConstantsTest.java
index affa0f573d..9839831582 100644
--- a/briar-tests/src/org/briarproject/messaging/ConstantsTest.java
+++ b/briar-tests/src/org/briarproject/messaging/ConstantsTest.java
@@ -44,9 +44,9 @@ import org.briarproject.api.messaging.Request;
 import org.briarproject.api.messaging.SubscriptionUpdate;
 import org.briarproject.api.messaging.TransportUpdate;
 import org.briarproject.crypto.CryptoModule;
+import org.briarproject.data.SerialModule;
 import org.briarproject.db.DatabaseModule;
 import org.briarproject.event.EventModule;
-import org.briarproject.serial.SerialModule;
 import org.junit.Test;
 
 import com.google.inject.Guice;
diff --git a/briar-tests/src/org/briarproject/messaging/ConsumersTest.java b/briar-tests/src/org/briarproject/messaging/ConsumersTest.java
index f214336067..a9470f5cd7 100644
--- a/briar-tests/src/org/briarproject/messaging/ConsumersTest.java
+++ b/briar-tests/src/org/briarproject/messaging/ConsumersTest.java
@@ -8,9 +8,6 @@ import java.util.Random;
 import org.briarproject.BriarTestCase;
 import org.briarproject.api.FormatException;
 import org.briarproject.api.crypto.MessageDigest;
-import org.briarproject.api.serial.CopyingConsumer;
-import org.briarproject.api.serial.CountingConsumer;
-import org.briarproject.api.serial.DigestingConsumer;
 import org.junit.Test;
 
 public class ConsumersTest extends BriarTestCase {
diff --git a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java b/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java
index dfd0e0ac24..50ccabbd45 100644
--- a/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java
+++ b/briar-tests/src/org/briarproject/messaging/PacketReaderImplTest.java
@@ -1,12 +1,12 @@
 package org.briarproject.messaging;
 
+import static org.briarproject.api.data.DataConstants.LIST_END_LENGTH;
+import static org.briarproject.api.data.DataConstants.UNIQUE_ID_LENGTH;
 import static org.briarproject.api.messaging.MessagingConstants.HEADER_LENGTH;
 import static org.briarproject.api.messaging.MessagingConstants.MAX_PAYLOAD_LENGTH;
 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;
@@ -14,10 +14,10 @@ import java.io.ByteArrayOutputStream;
 import org.briarproject.BriarTestCase;
 import org.briarproject.TestUtils;
 import org.briarproject.api.FormatException;
-import org.briarproject.api.serial.ReaderFactory;
-import org.briarproject.api.serial.Writer;
-import org.briarproject.api.serial.WriterFactory;
-import org.briarproject.serial.SerialModule;
+import org.briarproject.api.data.ReaderFactory;
+import org.briarproject.api.data.Writer;
+import org.briarproject.api.data.WriterFactory;
+import org.briarproject.data.SerialModule;
 import org.briarproject.util.ByteUtils;
 import org.junit.Test;
 
diff --git a/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java b/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java
index 7558360700..38913a03c7 100644
--- a/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java
+++ b/briar-tests/src/org/briarproject/messaging/SimplexMessagingIntegrationTest.java
@@ -44,10 +44,10 @@ import org.briarproject.api.transport.StreamReaderFactory;
 import org.briarproject.api.transport.StreamWriterFactory;
 import org.briarproject.api.transport.TagRecogniser;
 import org.briarproject.crypto.CryptoModule;
+import org.briarproject.data.SerialModule;
 import org.briarproject.db.DatabaseModule;
 import org.briarproject.event.EventModule;
 import org.briarproject.plugins.ImmediateExecutor;
-import org.briarproject.serial.SerialModule;
 import org.briarproject.transport.TransportModule;
 import org.junit.After;
 import org.junit.Before;
-- 
GitLab