Refactoring: renamed package 'protocol' -> 'messaging'.

This commit is contained in:
akwizgran
2013-01-30 17:48:43 +00:00
parent d7a7e9ab96
commit 9a78071bde
116 changed files with 582 additions and 573 deletions
@@ -1,7 +1,7 @@
package net.sf.briar.api.crypto; package net.sf.briar.api.crypto;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.Endpoint; import net.sf.briar.api.transport.Endpoint;
@@ -9,21 +9,21 @@ import net.sf.briar.api.Rating;
import net.sf.briar.api.TransportConfig; import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.db.event.DatabaseListener; import net.sf.briar.api.db.event.DatabaseListener;
import net.sf.briar.api.protocol.Ack; import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.RetentionAck; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.RetentionUpdate; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Offer;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.Request;
import net.sf.briar.api.protocol.Offer; import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.protocol.Request; import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck; import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck; import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.transport.Endpoint; import net.sf.briar.api.transport.Endpoint;
import net.sf.briar.api.transport.TemporarySecret; import net.sf.briar.api.transport.TemporarySecret;
@@ -1,8 +1,8 @@
package net.sf.briar.api.db; package net.sf.briar.api.db;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
public interface MessageHeader { public interface MessageHeader {
@@ -1,7 +1,7 @@
package net.sf.briar.api.db.event; package net.sf.briar.api.db.event;
import net.sf.briar.api.Rating; import net.sf.briar.api.Rating;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
public class RatingChangedEvent extends DatabaseEvent { public class RatingChangedEvent extends DatabaseEvent {
@@ -1,7 +1,7 @@
package net.sf.briar.api.db.event; package net.sf.briar.api.db.event;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
/** /**
* An event that is broadcast when a contact's remote transport properties * An event that is broadcast when a contact's remote transport properties
@@ -1,6 +1,6 @@
package net.sf.briar.api.db.event; package net.sf.briar.api.db.event;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
/** An event that is broadcast when a transport is added. */ /** An event that is broadcast when a transport is added. */
public class TransportAddedEvent extends DatabaseEvent { public class TransportAddedEvent extends DatabaseEvent {
@@ -1,6 +1,6 @@
package net.sf.briar.api.db.event; package net.sf.briar.api.db.event;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
/** An event that is broadcast when a transport is removed. */ /** An event that is broadcast when a transport is removed. */
public class TransportRemovedEvent extends DatabaseEvent { public class TransportRemovedEvent extends DatabaseEvent {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Collection; import java.util.Collection;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** A pseudonymous author of {@link Message}s. */ /** A pseudonymous author of {@link Message}s. */
public class Author { public class Author {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.io.IOException; import java.io.IOException;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Arrays; import java.util.Arrays;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** A group to which users may subscribe. */ /** A group to which users may subscribe. */
public class Group { public class Group {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.io.IOException; import java.io.IOException;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Arrays; import java.util.Arrays;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
public interface Message { public interface Message {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.io.IOException; import java.io.IOException;
import java.security.GeneralSecurityException; import java.security.GeneralSecurityException;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Arrays; import java.util.Arrays;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.security.GeneralSecurityException; import java.security.GeneralSecurityException;
@@ -1,8 +1,8 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import static net.sf.briar.api.transport.TransportConstants.MIN_CONNECTION_LENGTH; import static net.sf.briar.api.transport.TransportConstants.MIN_CONNECTION_LENGTH;
public interface ProtocolConstants { public interface MessagingConstants {
/** /**
* The maximum length of a serialised packet in bytes. To allow for future * The maximum length of a serialised packet in bytes. To allow for future
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Collection; import java.util.Collection;
@@ -1,8 +1,8 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.io.IOException; import java.io.IOException;
public interface ProtocolReader { public interface PacketReader {
boolean eof() throws IOException; boolean eof() throws IOException;
@@ -0,0 +1,8 @@
package net.sf.briar.api.messaging;
import java.io.InputStream;
public interface PacketReaderFactory {
PacketReader createPacketReader(InputStream in);
}
@@ -1,8 +1,8 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.io.IOException; import java.io.IOException;
public interface ProtocolWriter { public interface PacketWriter {
int getMaxMessagesForAck(long capacity); int getMaxMessagesForAck(long capacity);
@@ -0,0 +1,8 @@
package net.sf.briar.api.messaging;
import java.io.OutputStream;
public interface PacketWriterFactory {
PacketWriter createPacketWriter(OutputStream out, boolean flush);
}
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.BitSet; import java.util.BitSet;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** A packet acknowledging a (@link RetentionUpdate} */ /** A packet acknowledging a (@link RetentionUpdate} */
public class RetentionAck { public class RetentionAck {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** /**
* A packet updating the recipient's view of the retention time of the sender's * A packet updating the recipient's view of the retention time of the sender's
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** A packet acknowledging a {@link SubscriptionUpdate}. */ /** A packet acknowledging a {@link SubscriptionUpdate}. */
public class SubscriptionAck { public class SubscriptionAck {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Collection; import java.util.Collection;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** A packet acknowledging a {@link TransportUpdate}. */ /** A packet acknowledging a {@link TransportUpdate}. */
public class TransportAck { public class TransportAck {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Arrays; import java.util.Arrays;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** Struct identifiers for encoding and decoding protocol objects. */ /** Struct identifiers for encoding and decoding protocol objects. */
public interface Types { public interface Types {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import java.util.Arrays; import java.util.Arrays;
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
/** A {@link Message} that has not yet had its signatures verified. */ /** A {@link Message} that has not yet had its signatures verified. */
public class UnverifiedMessage { public class UnverifiedMessage {
@@ -1,4 +1,4 @@
package net.sf.briar.api.protocol; package net.sf.briar.api.messaging;
import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME; import static java.lang.annotation.RetentionPolicy.RUNTIME;
@@ -1,8 +1,8 @@
package net.sf.briar.api.protocol.duplex; package net.sf.briar.api.messaging.duplex;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
public interface DuplexConnectionFactory { public interface DuplexConnectionFactory {
@@ -1,9 +1,9 @@
package net.sf.briar.api.protocol.simplex; package net.sf.briar.api.messaging.simplex;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader; import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter; import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
public interface SimplexConnectionFactory { public interface SimplexConnectionFactory {
@@ -4,7 +4,7 @@ import java.io.IOException;
import java.util.Collection; import java.util.Collection;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
public interface Plugin { public interface Plugin {
@@ -1,6 +1,6 @@
package net.sf.briar.api.plugins.duplex; package net.sf.briar.api.plugins.duplex;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
public interface DuplexPluginFactory { public interface DuplexPluginFactory {
@@ -1,6 +1,6 @@
package net.sf.briar.api.plugins.simplex; package net.sf.briar.api.plugins.simplex;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
public interface SimplexPluginFactory { public interface SimplexPluginFactory {
@@ -1,8 +0,0 @@
package net.sf.briar.api.protocol;
import java.io.InputStream;
public interface ProtocolReaderFactory {
ProtocolReader createProtocolReader(InputStream in);
}
@@ -1,8 +0,0 @@
package net.sf.briar.api.protocol;
import java.io.OutputStream;
public interface ProtocolWriterFactory {
ProtocolWriter createProtocolWriter(OutputStream out, boolean flush);
}
@@ -1,7 +1,7 @@
package net.sf.briar.api.transport; package net.sf.briar.api.transport;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
public class ConnectionContext { public class ConnectionContext {
@@ -1,10 +1,10 @@
package net.sf.briar.api.transport; package net.sf.briar.api.transport;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader; import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter; import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
public interface ConnectionDispatcher { public interface ConnectionDispatcher {
@@ -2,7 +2,7 @@ package net.sf.briar.api.transport;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
/** /**
* Maintains the connection reordering windows and decides whether incoming * Maintains the connection reordering windows and decides whether incoming
@@ -3,7 +3,7 @@ package net.sf.briar.api.transport;
import java.util.Collection; import java.util.Collection;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
/** /**
* Keeps track of which contacts are currently connected by which transports. * Keeps track of which contacts are currently connected by which transports.
@@ -1,7 +1,7 @@
package net.sf.briar.api.transport; package net.sf.briar.api.transport;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
public class Endpoint { public class Endpoint {
@@ -2,7 +2,7 @@ package net.sf.briar.api.transport;
import static net.sf.briar.api.transport.TransportConstants.CONNECTION_WINDOW_SIZE; import static net.sf.briar.api.transport.TransportConstants.CONNECTION_WINDOW_SIZE;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
public class TemporarySecret extends Endpoint { public class TemporarySecret extends Endpoint {
+12 -12
View File
@@ -10,18 +10,18 @@ import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.db.MessageHeader; import net.sf.briar.api.db.MessageHeader;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.RetentionAck; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.RetentionUpdate; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck; import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck; import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.transport.Endpoint; import net.sf.briar.api.transport.Endpoint;
import net.sf.briar.api.transport.TemporarySecret; import net.sf.briar.api.transport.TemporarySecret;
@@ -47,21 +47,21 @@ import net.sf.briar.api.db.event.RemoteTransportsUpdatedEvent;
import net.sf.briar.api.db.event.TransportAddedEvent; import net.sf.briar.api.db.event.TransportAddedEvent;
import net.sf.briar.api.db.event.TransportRemovedEvent; import net.sf.briar.api.db.event.TransportRemovedEvent;
import net.sf.briar.api.lifecycle.ShutdownManager; import net.sf.briar.api.lifecycle.ShutdownManager;
import net.sf.briar.api.protocol.Ack; import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.Offer; import net.sf.briar.api.messaging.Offer;
import net.sf.briar.api.protocol.Request; import net.sf.briar.api.messaging.Request;
import net.sf.briar.api.protocol.RetentionAck; import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.protocol.RetentionUpdate; import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck; import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck; import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.transport.Endpoint; import net.sf.briar.api.transport.Endpoint;
import net.sf.briar.api.transport.TemporarySecret; import net.sf.briar.api.transport.TemporarySecret;
@@ -30,18 +30,18 @@ import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.db.DbClosedException; import net.sf.briar.api.db.DbClosedException;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.db.MessageHeader; import net.sf.briar.api.db.MessageHeader;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.RetentionAck; import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.protocol.RetentionUpdate; import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck; import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck; import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.transport.Endpoint; import net.sf.briar.api.transport.Endpoint;
import net.sf.briar.api.transport.TemporarySecret; import net.sf.briar.api.transport.TemporarySecret;
import net.sf.briar.util.FileUtils; import net.sf.briar.util.FileUtils;
@@ -1,9 +1,9 @@
package net.sf.briar.db; package net.sf.briar.db;
import net.sf.briar.api.db.MessageHeader; import net.sf.briar.api.db.MessageHeader;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
class MessageHeaderImpl implements MessageHeader { class MessageHeaderImpl implements MessageHeader {
@@ -1,15 +1,15 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.Types.AUTHOR; import static net.sf.briar.api.messaging.Types.AUTHOR;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest; import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.AuthorFactory; import net.sf.briar.api.messaging.AuthorFactory;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.serial.Writer; import net.sf.briar.api.serial.Writer;
import net.sf.briar.api.serial.WriterFactory; import net.sf.briar.api.serial.WriterFactory;
@@ -1,15 +1,15 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_AUTHOR_NAME_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_AUTHOR_NAME_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PUBLIC_KEY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH;
import static net.sf.briar.api.protocol.Types.AUTHOR; import static net.sf.briar.api.messaging.Types.AUTHOR;
import java.io.IOException; import java.io.IOException;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest; import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.serial.DigestingConsumer; import net.sf.briar.api.serial.DigestingConsumer;
import net.sf.briar.api.serial.Reader; import net.sf.briar.api.serial.Reader;
import net.sf.briar.api.serial.StructReader; import net.sf.briar.api.serial.StructReader;
@@ -1,15 +1,15 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.Types.GROUP; import static net.sf.briar.api.messaging.Types.GROUP;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest; import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupFactory; import net.sf.briar.api.messaging.GroupFactory;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.serial.Writer; import net.sf.briar.api.serial.Writer;
import net.sf.briar.api.serial.WriterFactory; import net.sf.briar.api.serial.WriterFactory;
@@ -1,15 +1,15 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_GROUP_NAME_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PUBLIC_KEY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH;
import static net.sf.briar.api.protocol.Types.GROUP; import static net.sf.briar.api.messaging.Types.GROUP;
import java.io.IOException; import java.io.IOException;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest; import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.serial.DigestingConsumer; import net.sf.briar.api.serial.DigestingConsumer;
import net.sf.briar.api.serial.Reader; import net.sf.briar.api.serial.Reader;
import net.sf.briar.api.serial.StructReader; import net.sf.briar.api.serial.StructReader;
@@ -1,13 +1,13 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_BODY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_BODY_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PACKET_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_SUBJECT_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBJECT_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.SALT_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.SALT_LENGTH;
import static net.sf.briar.api.protocol.Types.AUTHOR; import static net.sf.briar.api.messaging.Types.AUTHOR;
import static net.sf.briar.api.protocol.Types.GROUP; import static net.sf.briar.api.messaging.Types.GROUP;
import static net.sf.briar.api.protocol.Types.MESSAGE; import static net.sf.briar.api.messaging.Types.MESSAGE;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
@@ -19,13 +19,13 @@ import java.security.Signature;
import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.MessageDigest; import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.MessageFactory; import net.sf.briar.api.messaging.MessageFactory;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.serial.Consumer; import net.sf.briar.api.serial.Consumer;
import net.sf.briar.api.serial.CountingConsumer; import net.sf.briar.api.serial.CountingConsumer;
import net.sf.briar.api.serial.DigestingConsumer; import net.sf.briar.api.serial.DigestingConsumer;
@@ -1,10 +1,10 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_BODY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_BODY_LENGTH;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
/** A simple in-memory implementation of a message. */ /** A simple in-memory implementation of a message. */
class MessageImpl implements Message { class MessageImpl implements Message {
@@ -1,20 +1,20 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_BODY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_BODY_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PACKET_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_SUBJECT_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBJECT_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.SALT_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.SALT_LENGTH;
import static net.sf.briar.api.protocol.Types.MESSAGE; import static net.sf.briar.api.messaging.Types.MESSAGE;
import java.io.IOException; import java.io.IOException;
import net.sf.briar.api.FormatException; import net.sf.briar.api.FormatException;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.UniqueId; import net.sf.briar.api.messaging.UniqueId;
import net.sf.briar.api.protocol.UnverifiedMessage; import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.serial.CopyingConsumer; import net.sf.briar.api.serial.CopyingConsumer;
import net.sf.briar.api.serial.CountingConsumer; import net.sf.briar.api.serial.CountingConsumer;
import net.sf.briar.api.serial.Reader; import net.sf.briar.api.serial.Reader;
@@ -1,4 +1,4 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import java.security.GeneralSecurityException; import java.security.GeneralSecurityException;
import java.security.PublicKey; import java.security.PublicKey;
@@ -7,14 +7,14 @@ import java.security.Signature;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.KeyParser; import net.sf.briar.api.crypto.KeyParser;
import net.sf.briar.api.crypto.MessageDigest; import net.sf.briar.api.crypto.MessageDigest;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.AuthorId; import net.sf.briar.api.messaging.AuthorId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupId; import net.sf.briar.api.messaging.GroupId;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.MessageVerifier; import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.protocol.UnverifiedMessage; import net.sf.briar.api.messaging.UnverifiedMessage;
import com.google.inject.Inject; import com.google.inject.Inject;
@@ -1,26 +1,26 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.AuthorFactory; import net.sf.briar.api.messaging.AuthorFactory;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupFactory; import net.sf.briar.api.messaging.GroupFactory;
import net.sf.briar.api.protocol.MessageFactory; import net.sf.briar.api.messaging.MessageFactory;
import net.sf.briar.api.protocol.MessageVerifier; import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.protocol.ProtocolReaderFactory; import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory; import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.UnverifiedMessage; import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.protocol.VerificationExecutor; import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.serial.StructReader; import net.sf.briar.api.serial.StructReader;
import net.sf.briar.util.BoundedExecutor; import net.sf.briar.util.BoundedExecutor;
import com.google.inject.AbstractModule; import com.google.inject.AbstractModule;
import com.google.inject.Provides; import com.google.inject.Provides;
public class ProtocolModule extends AbstractModule { public class MessagingModule extends AbstractModule {
// FIXME: Determine suitable values for these constants empirically // FIXME: Determine suitable values for these constants empirically
@@ -43,8 +43,8 @@ public class ProtocolModule extends AbstractModule {
bind(GroupFactory.class).to(GroupFactoryImpl.class); bind(GroupFactory.class).to(GroupFactoryImpl.class);
bind(MessageFactory.class).to(MessageFactoryImpl.class); bind(MessageFactory.class).to(MessageFactoryImpl.class);
bind(MessageVerifier.class).to(MessageVerifierImpl.class); bind(MessageVerifier.class).to(MessageVerifierImpl.class);
bind(ProtocolReaderFactory.class).to(ProtocolReaderFactoryImpl.class); bind(PacketReaderFactory.class).to(PacketReaderFactoryImpl.class);
bind(ProtocolWriterFactory.class).to(ProtocolWriterFactoryImpl.class); bind(PacketWriterFactory.class).to(PacketWriterFactoryImpl.class);
// The executor is bounded, so tasks must be independent and short-lived // The executor is bounded, so tasks must be independent and short-lived
bind(Executor.class).annotatedWith( bind(Executor.class).annotatedWith(
VerificationExecutor.class).toInstance( VerificationExecutor.class).toInstance(
@@ -1,24 +1,24 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import java.io.InputStream; import java.io.InputStream;
import net.sf.briar.api.protocol.ProtocolReader; import net.sf.briar.api.messaging.PacketReader;
import net.sf.briar.api.protocol.ProtocolReaderFactory; import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.UnverifiedMessage; import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.serial.ReaderFactory; import net.sf.briar.api.serial.ReaderFactory;
import net.sf.briar.api.serial.StructReader; import net.sf.briar.api.serial.StructReader;
import com.google.inject.Inject; import com.google.inject.Inject;
class ProtocolReaderFactoryImpl implements ProtocolReaderFactory { class PacketReaderFactoryImpl implements PacketReaderFactory {
private final ReaderFactory readerFactory; private final ReaderFactory readerFactory;
private final StructReader<UnverifiedMessage> messageReader; private final StructReader<UnverifiedMessage> messageReader;
private final StructReader<SubscriptionUpdate> subscriptionUpdateReader; private final StructReader<SubscriptionUpdate> subscriptionUpdateReader;
@Inject @Inject
ProtocolReaderFactoryImpl(ReaderFactory readerFactory, PacketReaderFactoryImpl(ReaderFactory readerFactory,
StructReader<UnverifiedMessage> messageReader, StructReader<UnverifiedMessage> messageReader,
StructReader<SubscriptionUpdate> subscriptionUpdateReader) { StructReader<SubscriptionUpdate> subscriptionUpdateReader) {
this.readerFactory = readerFactory; this.readerFactory = readerFactory;
@@ -26,8 +26,8 @@ class ProtocolReaderFactoryImpl implements ProtocolReaderFactory {
this.subscriptionUpdateReader = subscriptionUpdateReader; this.subscriptionUpdateReader = subscriptionUpdateReader;
} }
public ProtocolReader createProtocolReader(InputStream in) { public PacketReader createPacketReader(InputStream in) {
return new ProtocolReaderImpl(readerFactory, messageReader, return new PacketReaderImpl(readerFactory, messageReader,
subscriptionUpdateReader, in); subscriptionUpdateReader, in);
} }
} }
@@ -1,18 +1,18 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PACKET_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PROPERTIES_PER_TRANSPORT; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTIES_PER_TRANSPORT;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PROPERTY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTY_LENGTH;
import static net.sf.briar.api.protocol.Types.ACK; import static net.sf.briar.api.messaging.Types.ACK;
import static net.sf.briar.api.protocol.Types.RETENTION_ACK; import static net.sf.briar.api.messaging.Types.MESSAGE;
import static net.sf.briar.api.protocol.Types.RETENTION_UPDATE; import static net.sf.briar.api.messaging.Types.OFFER;
import static net.sf.briar.api.protocol.Types.MESSAGE; import static net.sf.briar.api.messaging.Types.REQUEST;
import static net.sf.briar.api.protocol.Types.OFFER; import static net.sf.briar.api.messaging.Types.RETENTION_ACK;
import static net.sf.briar.api.protocol.Types.REQUEST; import static net.sf.briar.api.messaging.Types.RETENTION_UPDATE;
import static net.sf.briar.api.protocol.Types.SUBSCRIPTION_ACK; import static net.sf.briar.api.messaging.Types.SUBSCRIPTION_ACK;
import static net.sf.briar.api.protocol.Types.SUBSCRIPTION_UPDATE; import static net.sf.briar.api.messaging.Types.SUBSCRIPTION_UPDATE;
import static net.sf.briar.api.protocol.Types.TRANSPORT_ACK; import static net.sf.briar.api.messaging.Types.TRANSPORT_ACK;
import static net.sf.briar.api.protocol.Types.TRANSPORT_UPDATE; import static net.sf.briar.api.messaging.Types.TRANSPORT_UPDATE;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
@@ -25,20 +25,20 @@ import java.util.Map;
import net.sf.briar.api.Bytes; import net.sf.briar.api.Bytes;
import net.sf.briar.api.FormatException; import net.sf.briar.api.FormatException;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.protocol.Ack; import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.protocol.RetentionAck; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.RetentionUpdate; import net.sf.briar.api.messaging.Offer;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.PacketReader;
import net.sf.briar.api.protocol.Offer; import net.sf.briar.api.messaging.Request;
import net.sf.briar.api.protocol.ProtocolReader; import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.protocol.Request; import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck; import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck; import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.protocol.UniqueId; import net.sf.briar.api.messaging.UniqueId;
import net.sf.briar.api.protocol.UnverifiedMessage; import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.serial.Consumer; import net.sf.briar.api.serial.Consumer;
import net.sf.briar.api.serial.CountingConsumer; import net.sf.briar.api.serial.CountingConsumer;
import net.sf.briar.api.serial.Reader; import net.sf.briar.api.serial.Reader;
@@ -46,13 +46,13 @@ import net.sf.briar.api.serial.ReaderFactory;
import net.sf.briar.api.serial.StructReader; import net.sf.briar.api.serial.StructReader;
// This class is not thread-safe // This class is not thread-safe
class ProtocolReaderImpl implements ProtocolReader { class PacketReaderImpl implements PacketReader {
private final StructReader<UnverifiedMessage> messageReader; private final StructReader<UnverifiedMessage> messageReader;
private final StructReader<SubscriptionUpdate> subscriptionUpdateReader; private final StructReader<SubscriptionUpdate> subscriptionUpdateReader;
private final Reader r; private final Reader r;
ProtocolReaderImpl(ReaderFactory readerFactory, PacketReaderImpl(ReaderFactory readerFactory,
StructReader<UnverifiedMessage> messageReader, StructReader<UnverifiedMessage> messageReader,
StructReader<SubscriptionUpdate> subscriptionUpdateReader, StructReader<SubscriptionUpdate> subscriptionUpdateReader,
InputStream in) { InputStream in) {
@@ -0,0 +1,28 @@
package net.sf.briar.messaging;
import java.io.OutputStream;
import net.sf.briar.api.messaging.PacketWriter;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.serial.SerialComponent;
import net.sf.briar.api.serial.WriterFactory;
import com.google.inject.Inject;
class PacketWriterFactoryImpl implements PacketWriterFactory {
private final SerialComponent serial;
private final WriterFactory writerFactory;
@Inject
PacketWriterFactoryImpl(SerialComponent serial,
WriterFactory writerFactory) {
this.serial = serial;
this.writerFactory = writerFactory;
}
public PacketWriter createPacketWriter(OutputStream out,
boolean flush) {
return new PacketWriterImpl(serial, writerFactory, out, flush);
}
}
@@ -1,46 +1,46 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PACKET_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH;
import static net.sf.briar.api.protocol.Types.ACK; import static net.sf.briar.api.messaging.Types.ACK;
import static net.sf.briar.api.protocol.Types.RETENTION_ACK; import static net.sf.briar.api.messaging.Types.GROUP;
import static net.sf.briar.api.protocol.Types.RETENTION_UPDATE; import static net.sf.briar.api.messaging.Types.OFFER;
import static net.sf.briar.api.protocol.Types.GROUP; import static net.sf.briar.api.messaging.Types.REQUEST;
import static net.sf.briar.api.protocol.Types.OFFER; import static net.sf.briar.api.messaging.Types.RETENTION_ACK;
import static net.sf.briar.api.protocol.Types.REQUEST; import static net.sf.briar.api.messaging.Types.RETENTION_UPDATE;
import static net.sf.briar.api.protocol.Types.SUBSCRIPTION_ACK; import static net.sf.briar.api.messaging.Types.SUBSCRIPTION_ACK;
import static net.sf.briar.api.protocol.Types.SUBSCRIPTION_UPDATE; import static net.sf.briar.api.messaging.Types.SUBSCRIPTION_UPDATE;
import static net.sf.briar.api.protocol.Types.TRANSPORT_ACK; import static net.sf.briar.api.messaging.Types.TRANSPORT_ACK;
import static net.sf.briar.api.protocol.Types.TRANSPORT_UPDATE; import static net.sf.briar.api.messaging.Types.TRANSPORT_UPDATE;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.BitSet; import java.util.BitSet;
import net.sf.briar.api.protocol.Ack; import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.protocol.RetentionAck; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.RetentionUpdate; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Offer;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.PacketWriter;
import net.sf.briar.api.protocol.Offer; import net.sf.briar.api.messaging.Request;
import net.sf.briar.api.protocol.ProtocolWriter; import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.protocol.Request; import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck; import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck; import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.serial.SerialComponent; import net.sf.briar.api.serial.SerialComponent;
import net.sf.briar.api.serial.Writer; import net.sf.briar.api.serial.Writer;
import net.sf.briar.api.serial.WriterFactory; import net.sf.briar.api.serial.WriterFactory;
// This class is not thread-safe // This class is not thread-safe
class ProtocolWriterImpl implements ProtocolWriter { class PacketWriterImpl implements PacketWriter {
private final SerialComponent serial; private final SerialComponent serial;
private final OutputStream out; private final OutputStream out;
private final boolean flush; private final boolean flush;
private final Writer w; private final Writer w;
ProtocolWriterImpl(SerialComponent serial, WriterFactory writerFactory, PacketWriterImpl(SerialComponent serial, WriterFactory writerFactory,
OutputStream out, boolean flush) { OutputStream out, boolean flush) {
this.serial = serial; this.serial = serial;
this.out = out; this.out = out;
@@ -1,7 +1,7 @@
package net.sf.briar.protocol; package net.sf.briar.messaging;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PACKET_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH;
import static net.sf.briar.api.protocol.Types.SUBSCRIPTION_UPDATE; import static net.sf.briar.api.messaging.Types.SUBSCRIPTION_UPDATE;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
@@ -9,8 +9,8 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import net.sf.briar.api.FormatException; import net.sf.briar.api.FormatException;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.serial.Consumer; import net.sf.briar.api.serial.Consumer;
import net.sf.briar.api.serial.CountingConsumer; import net.sf.briar.api.serial.CountingConsumer;
import net.sf.briar.api.serial.Reader; import net.sf.briar.api.serial.Reader;
@@ -1,4 +1,4 @@
package net.sf.briar.protocol.duplex; package net.sf.briar.messaging.duplex;
import static java.util.logging.Level.INFO; import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -31,26 +31,26 @@ import net.sf.briar.api.db.event.LocalSubscriptionsUpdatedEvent;
import net.sf.briar.api.db.event.LocalTransportsUpdatedEvent; import net.sf.briar.api.db.event.LocalTransportsUpdatedEvent;
import net.sf.briar.api.db.event.MessageAddedEvent; import net.sf.briar.api.db.event.MessageAddedEvent;
import net.sf.briar.api.db.event.MessageReceivedEvent; import net.sf.briar.api.db.event.MessageReceivedEvent;
import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.Offer;
import net.sf.briar.api.messaging.PacketReader;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.PacketWriter;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.messaging.Request;
import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.Ack;
import net.sf.briar.api.protocol.Message;
import net.sf.briar.api.protocol.MessageId;
import net.sf.briar.api.protocol.MessageVerifier;
import net.sf.briar.api.protocol.Offer;
import net.sf.briar.api.protocol.ProtocolReader;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriter;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.Request;
import net.sf.briar.api.protocol.RetentionAck;
import net.sf.briar.api.protocol.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportUpdate;
import net.sf.briar.api.protocol.UnverifiedMessage;
import net.sf.briar.api.protocol.VerificationExecutor;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReader; import net.sf.briar.api.transport.ConnectionReader;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
@@ -72,8 +72,8 @@ abstract class DuplexConnection implements DatabaseListener {
protected final ConnectionRegistry connRegistry; protected final ConnectionRegistry connRegistry;
protected final ConnectionReaderFactory connReaderFactory; protected final ConnectionReaderFactory connReaderFactory;
protected final ConnectionWriterFactory connWriterFactory; protected final ConnectionWriterFactory connWriterFactory;
protected final ProtocolReaderFactory protoReaderFactory; protected final PacketReaderFactory protoReaderFactory;
protected final ProtocolWriterFactory protoWriterFactory; protected final PacketWriterFactory protoWriterFactory;
protected final ConnectionContext ctx; protected final ConnectionContext ctx;
protected final DuplexTransportConnection transport; protected final DuplexTransportConnection transport;
protected final ContactId contactId; protected final ContactId contactId;
@@ -86,7 +86,7 @@ abstract class DuplexConnection implements DatabaseListener {
private Collection<MessageId> offered = null; // Locking: this private Collection<MessageId> offered = null; // Locking: this
private volatile ProtocolWriter writer = null; private volatile PacketWriter writer = null;
DuplexConnection(@DatabaseExecutor Executor dbExecutor, DuplexConnection(@DatabaseExecutor Executor dbExecutor,
@VerificationExecutor Executor verificationExecutor, @VerificationExecutor Executor verificationExecutor,
@@ -94,8 +94,8 @@ abstract class DuplexConnection implements DatabaseListener {
ConnectionRegistry connRegistry, ConnectionRegistry connRegistry,
ConnectionReaderFactory connReaderFactory, ConnectionReaderFactory connReaderFactory,
ConnectionWriterFactory connWriterFactory, ConnectionWriterFactory connWriterFactory,
ProtocolReaderFactory protoReaderFactory, PacketReaderFactory protoReaderFactory,
ProtocolWriterFactory protoWriterFactory, ConnectionContext ctx, PacketWriterFactory protoWriterFactory, ConnectionContext ctx,
DuplexTransportConnection transport) { DuplexTransportConnection transport) {
this.dbExecutor = dbExecutor; this.dbExecutor = dbExecutor;
this.verificationExecutor = verificationExecutor; this.verificationExecutor = verificationExecutor;
@@ -144,7 +144,7 @@ abstract class DuplexConnection implements DatabaseListener {
void read() { void read() {
try { try {
InputStream in = createConnectionReader().getInputStream(); InputStream in = createConnectionReader().getInputStream();
ProtocolReader reader = protoReaderFactory.createProtocolReader(in); PacketReader reader = protoReaderFactory.createPacketReader(in);
while(!reader.eof()) { while(!reader.eof()) {
if(reader.hasAck()) { if(reader.hasAck()) {
Ack a = reader.readAck(); Ack a = reader.readAck();
@@ -209,7 +209,7 @@ abstract class DuplexConnection implements DatabaseListener {
db.addListener(this); db.addListener(this);
try { try {
OutputStream out = createConnectionWriter().getOutputStream(); OutputStream out = createConnectionWriter().getOutputStream();
writer = protoWriterFactory.createProtocolWriter(out, writer = protoWriterFactory.createPacketWriter(out,
transport.shouldFlush()); transport.shouldFlush());
// Send the initial packets: updates, acks, offer // Send the initial packets: updates, acks, offer
dbExecutor.execute(new GenerateTransportAcks()); dbExecutor.execute(new GenerateTransportAcks());
@@ -1,4 +1,4 @@
package net.sf.briar.protocol.duplex; package net.sf.briar.messaging.duplex;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -9,13 +9,13 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.crypto.KeyManager; import net.sf.briar.api.crypto.KeyManager;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.messaging.duplex.DuplexConnectionFactory;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.MessageVerifier;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.VerificationExecutor;
import net.sf.briar.api.protocol.duplex.DuplexConnectionFactory;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
import net.sf.briar.api.transport.ConnectionRegistry; import net.sf.briar.api.transport.ConnectionRegistry;
@@ -35,8 +35,8 @@ class DuplexConnectionFactoryImpl implements DuplexConnectionFactory {
private final ConnectionRegistry connRegistry; private final ConnectionRegistry connRegistry;
private final ConnectionReaderFactory connReaderFactory; private final ConnectionReaderFactory connReaderFactory;
private final ConnectionWriterFactory connWriterFactory; private final ConnectionWriterFactory connWriterFactory;
private final ProtocolReaderFactory protoReaderFactory; private final PacketReaderFactory protoReaderFactory;
private final ProtocolWriterFactory protoWriterFactory; private final PacketWriterFactory protoWriterFactory;
@Inject @Inject
DuplexConnectionFactoryImpl(@DatabaseExecutor Executor dbExecutor, DuplexConnectionFactoryImpl(@DatabaseExecutor Executor dbExecutor,
@@ -45,7 +45,7 @@ class DuplexConnectionFactoryImpl implements DuplexConnectionFactory {
KeyManager keyManager, ConnectionRegistry connRegistry, KeyManager keyManager, ConnectionRegistry connRegistry,
ConnectionReaderFactory connReaderFactory, ConnectionReaderFactory connReaderFactory,
ConnectionWriterFactory connWriterFactory, ConnectionWriterFactory connWriterFactory,
ProtocolReaderFactory protoReaderFactory, ProtocolWriterFactory protoWriterFactory) { PacketReaderFactory protoReaderFactory, PacketWriterFactory protoWriterFactory) {
this.dbExecutor = dbExecutor; this.dbExecutor = dbExecutor;
this.verificationExecutor = verificationExecutor; this.verificationExecutor = verificationExecutor;
this.messageVerifier = messageVerifier; this.messageVerifier = messageVerifier;
@@ -1,11 +1,11 @@
package net.sf.briar.protocol.duplex; package net.sf.briar.messaging.duplex;
import net.sf.briar.api.protocol.duplex.DuplexConnectionFactory; import net.sf.briar.api.messaging.duplex.DuplexConnectionFactory;
import com.google.inject.AbstractModule; import com.google.inject.AbstractModule;
import com.google.inject.Singleton; import com.google.inject.Singleton;
public class DuplexProtocolModule extends AbstractModule { public class DuplexMessagingModule extends AbstractModule {
@Override @Override
protected void configure() { protected void configure() {
@@ -1,15 +1,15 @@
package net.sf.briar.protocol.duplex; package net.sf.briar.messaging.duplex;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.MessageVerifier;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.VerificationExecutor;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReader; import net.sf.briar.api.transport.ConnectionReader;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
@@ -25,8 +25,8 @@ class IncomingDuplexConnection extends DuplexConnection {
ConnectionRegistry connRegistry, ConnectionRegistry connRegistry,
ConnectionReaderFactory connReaderFactory, ConnectionReaderFactory connReaderFactory,
ConnectionWriterFactory connWriterFactory, ConnectionWriterFactory connWriterFactory,
ProtocolReaderFactory protoReaderFactory, PacketReaderFactory protoReaderFactory,
ProtocolWriterFactory protoWriterFactory, PacketWriterFactory protoWriterFactory,
ConnectionContext ctx, DuplexTransportConnection transport) { ConnectionContext ctx, DuplexTransportConnection transport) {
super(dbExecutor, verificationExecutor, messageVerifier, db, super(dbExecutor, verificationExecutor, messageVerifier, db,
connRegistry, connReaderFactory, connWriterFactory, connRegistry, connReaderFactory, connWriterFactory,
@@ -1,15 +1,15 @@
package net.sf.briar.protocol.duplex; package net.sf.briar.messaging.duplex;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.MessageVerifier;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.VerificationExecutor;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReader; import net.sf.briar.api.transport.ConnectionReader;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
@@ -25,8 +25,8 @@ class OutgoingDuplexConnection extends DuplexConnection {
ConnectionRegistry connRegistry, ConnectionRegistry connRegistry,
ConnectionReaderFactory connReaderFactory, ConnectionReaderFactory connReaderFactory,
ConnectionWriterFactory connWriterFactory, ConnectionWriterFactory connWriterFactory,
ProtocolReaderFactory protoReaderFactory, PacketReaderFactory protoReaderFactory,
ProtocolWriterFactory protoWriterFactory, ConnectionContext ctx, PacketWriterFactory protoWriterFactory, ConnectionContext ctx,
DuplexTransportConnection transport) { DuplexTransportConnection transport) {
super(dbExecutor, verificationExecutor, messageVerifier, db, super(dbExecutor, verificationExecutor, messageVerifier, db,
connRegistry, connReaderFactory, connWriterFactory, connRegistry, connReaderFactory, connWriterFactory,
@@ -1,4 +1,4 @@
package net.sf.briar.protocol.simplex; package net.sf.briar.messaging.simplex;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -13,21 +13,21 @@ import net.sf.briar.api.FormatException;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.PacketReader;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader; import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.protocol.Ack;
import net.sf.briar.api.protocol.Message;
import net.sf.briar.api.protocol.MessageVerifier;
import net.sf.briar.api.protocol.ProtocolReader;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.RetentionAck;
import net.sf.briar.api.protocol.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportUpdate;
import net.sf.briar.api.protocol.UnverifiedMessage;
import net.sf.briar.api.protocol.VerificationExecutor;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReader; import net.sf.briar.api.transport.ConnectionReader;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
@@ -44,7 +44,7 @@ class IncomingSimplexConnection {
private final DatabaseComponent db; private final DatabaseComponent db;
private final ConnectionRegistry connRegistry; private final ConnectionRegistry connRegistry;
private final ConnectionReaderFactory connFactory; private final ConnectionReaderFactory connFactory;
private final ProtocolReaderFactory protoFactory; private final PacketReaderFactory protoFactory;
private final ConnectionContext ctx; private final ConnectionContext ctx;
private final SimplexTransportReader transport; private final SimplexTransportReader transport;
private final ContactId contactId; private final ContactId contactId;
@@ -55,7 +55,7 @@ class IncomingSimplexConnection {
MessageVerifier messageVerifier, DatabaseComponent db, MessageVerifier messageVerifier, DatabaseComponent db,
ConnectionRegistry connRegistry, ConnectionRegistry connRegistry,
ConnectionReaderFactory connFactory, ConnectionReaderFactory connFactory,
ProtocolReaderFactory protoFactory, ConnectionContext ctx, PacketReaderFactory protoFactory, ConnectionContext ctx,
SimplexTransportReader transport) { SimplexTransportReader transport) {
this.dbExecutor = dbExecutor; this.dbExecutor = dbExecutor;
this.verificationExecutor = verificationExecutor; this.verificationExecutor = verificationExecutor;
@@ -76,7 +76,7 @@ class IncomingSimplexConnection {
ConnectionReader conn = connFactory.createConnectionReader( ConnectionReader conn = connFactory.createConnectionReader(
transport.getInputStream(), ctx, true, true); transport.getInputStream(), ctx, true, true);
InputStream in = conn.getInputStream(); InputStream in = conn.getInputStream();
ProtocolReader reader = protoFactory.createProtocolReader(in); PacketReader reader = protoFactory.createPacketReader(in);
// Read packets until EOF // Read packets until EOF
while(!reader.eof()) { while(!reader.eof()) {
if(reader.hasAck()) { if(reader.hasAck()) {
@@ -1,7 +1,7 @@
package net.sf.briar.protocol.simplex; package net.sf.briar.messaging.simplex;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
import static net.sf.briar.api.protocol.ProtocolConstants.MAX_PACKET_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH;
import java.io.EOFException; import java.io.EOFException;
import java.io.IOException; import java.io.IOException;
@@ -12,17 +12,17 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.messaging.PacketWriter;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.messaging.RetentionAck;
import net.sf.briar.api.messaging.RetentionUpdate;
import net.sf.briar.api.messaging.SubscriptionAck;
import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.messaging.TransportAck;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter; import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.Ack;
import net.sf.briar.api.protocol.ProtocolWriter;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.RetentionAck;
import net.sf.briar.api.protocol.RetentionUpdate;
import net.sf.briar.api.protocol.SubscriptionAck;
import net.sf.briar.api.protocol.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportAck;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportUpdate;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionRegistry; import net.sf.briar.api.transport.ConnectionRegistry;
import net.sf.briar.api.transport.ConnectionWriter; import net.sf.briar.api.transport.ConnectionWriter;
@@ -37,7 +37,7 @@ class OutgoingSimplexConnection {
private final DatabaseComponent db; private final DatabaseComponent db;
private final ConnectionRegistry connRegistry; private final ConnectionRegistry connRegistry;
private final ConnectionWriterFactory connFactory; private final ConnectionWriterFactory connFactory;
private final ProtocolWriterFactory protoFactory; private final PacketWriterFactory protoFactory;
private final ConnectionContext ctx; private final ConnectionContext ctx;
private final SimplexTransportWriter transport; private final SimplexTransportWriter transport;
private final ContactId contactId; private final ContactId contactId;
@@ -46,7 +46,7 @@ class OutgoingSimplexConnection {
OutgoingSimplexConnection(DatabaseComponent db, OutgoingSimplexConnection(DatabaseComponent db,
ConnectionRegistry connRegistry, ConnectionRegistry connRegistry,
ConnectionWriterFactory connFactory, ConnectionWriterFactory connFactory,
ProtocolWriterFactory protoFactory, ConnectionContext ctx, PacketWriterFactory protoFactory, ConnectionContext ctx,
SimplexTransportWriter transport) { SimplexTransportWriter transport) {
this.db = db; this.db = db;
this.connRegistry = connRegistry; this.connRegistry = connRegistry;
@@ -69,7 +69,7 @@ class OutgoingSimplexConnection {
OutputStream out = conn.getOutputStream(); OutputStream out = conn.getOutputStream();
if(conn.getRemainingCapacity() < MAX_PACKET_LENGTH) if(conn.getRemainingCapacity() < MAX_PACKET_LENGTH)
throw new EOFException(); throw new EOFException();
ProtocolWriter writer = protoFactory.createProtocolWriter(out, PacketWriter writer = protoFactory.createPacketWriter(out,
transport.shouldFlush()); transport.shouldFlush());
// Send the initial packets: updates and acks // Send the initial packets: updates and acks
Collection<TransportAck> transportAcks = Collection<TransportAck> transportAcks =
@@ -1,4 +1,4 @@
package net.sf.briar.protocol.simplex; package net.sf.briar.messaging.simplex;
import static java.util.logging.Level.WARNING; import static java.util.logging.Level.WARNING;
@@ -9,14 +9,14 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.crypto.KeyManager; import net.sf.briar.api.crypto.KeyManager;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.messaging.VerificationExecutor;
import net.sf.briar.api.messaging.simplex.SimplexConnectionFactory;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader; import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter; import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.MessageVerifier;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.VerificationExecutor;
import net.sf.briar.api.protocol.simplex.SimplexConnectionFactory;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
import net.sf.briar.api.transport.ConnectionRegistry; import net.sf.briar.api.transport.ConnectionRegistry;
@@ -36,8 +36,8 @@ class SimplexConnectionFactoryImpl implements SimplexConnectionFactory {
private final ConnectionRegistry connRegistry; private final ConnectionRegistry connRegistry;
private final ConnectionReaderFactory connReaderFactory; private final ConnectionReaderFactory connReaderFactory;
private final ConnectionWriterFactory connWriterFactory; private final ConnectionWriterFactory connWriterFactory;
private final ProtocolReaderFactory protoReaderFactory; private final PacketReaderFactory protoReaderFactory;
private final ProtocolWriterFactory protoWriterFactory; private final PacketWriterFactory protoWriterFactory;
@Inject @Inject
SimplexConnectionFactoryImpl(@DatabaseExecutor Executor dbExecutor, SimplexConnectionFactoryImpl(@DatabaseExecutor Executor dbExecutor,
@@ -46,8 +46,8 @@ class SimplexConnectionFactoryImpl implements SimplexConnectionFactory {
KeyManager keyManager, ConnectionRegistry connRegistry, KeyManager keyManager, ConnectionRegistry connRegistry,
ConnectionReaderFactory connReaderFactory, ConnectionReaderFactory connReaderFactory,
ConnectionWriterFactory connWriterFactory, ConnectionWriterFactory connWriterFactory,
ProtocolReaderFactory protoReaderFactory, PacketReaderFactory protoReaderFactory,
ProtocolWriterFactory protoWriterFactory) { PacketWriterFactory protoWriterFactory) {
this.dbExecutor = dbExecutor; this.dbExecutor = dbExecutor;
this.verificationExecutor = verificationExecutor; this.verificationExecutor = verificationExecutor;
this.messageVerifier = messageVerifier; this.messageVerifier = messageVerifier;
@@ -1,11 +1,11 @@
package net.sf.briar.protocol.simplex; package net.sf.briar.messaging.simplex;
import net.sf.briar.api.protocol.simplex.SimplexConnectionFactory; import net.sf.briar.api.messaging.simplex.SimplexConnectionFactory;
import com.google.inject.AbstractModule; import com.google.inject.AbstractModule;
import com.google.inject.Singleton; import com.google.inject.Singleton;
public class SimplexProtocolModule extends AbstractModule { public class SimplexMessagingModule extends AbstractModule {
@Override @Override
protected void configure() { protected void configure() {
@@ -20,6 +20,7 @@ import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.android.AndroidExecutor; import net.sf.briar.api.android.AndroidExecutor;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.Plugin; import net.sf.briar.api.plugins.Plugin;
import net.sf.briar.api.plugins.PluginCallback; import net.sf.briar.api.plugins.PluginCallback;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
@@ -35,7 +36,6 @@ import net.sf.briar.api.plugins.simplex.SimplexPluginConfig;
import net.sf.briar.api.plugins.simplex.SimplexPluginFactory; import net.sf.briar.api.plugins.simplex.SimplexPluginFactory;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader; import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter; import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.transport.ConnectionDispatcher; import net.sf.briar.api.transport.ConnectionDispatcher;
import net.sf.briar.api.ui.UiCallback; import net.sf.briar.api.ui.UiCallback;
import android.content.Context; import android.content.Context;
@@ -27,11 +27,11 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.crypto.PseudoRandom; import net.sf.briar.api.crypto.PseudoRandom;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.OsUtils; import net.sf.briar.util.OsUtils;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
@@ -4,11 +4,11 @@ import java.util.concurrent.Executor;
import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.clock.SystemClock; import net.sf.briar.api.clock.SystemClock;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
public class BluetoothPluginFactory implements DuplexPluginFactory { public class BluetoothPluginFactory implements DuplexPluginFactory {
@@ -26,11 +26,11 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.android.AndroidExecutor; import net.sf.briar.api.android.AndroidExecutor;
import net.sf.briar.api.crypto.PseudoRandom; import net.sf.briar.api.crypto.PseudoRandom;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothDevice;
@@ -3,11 +3,11 @@ package net.sf.briar.plugins.droidtooth;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.android.AndroidExecutor; import net.sf.briar.api.android.AndroidExecutor;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
import android.content.Context; import android.content.Context;
public class DroidtoothPluginFactory implements DuplexPluginFactory { public class DroidtoothPluginFactory implements DuplexPluginFactory {
@@ -12,9 +12,9 @@ import java.util.concurrent.Executor;
import java.util.logging.Logger; import java.util.logging.Logger;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback; import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
class RemovableDrivePlugin extends FilePlugin class RemovableDrivePlugin extends FilePlugin
@@ -2,11 +2,11 @@ package net.sf.briar.plugins.file;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.simplex.SimplexPlugin; import net.sf.briar.api.plugins.simplex.SimplexPlugin;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback; import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.plugins.simplex.SimplexPluginFactory; import net.sf.briar.api.plugins.simplex.SimplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.OsUtils; import net.sf.briar.util.OsUtils;
public class RemovableDrivePluginFactory implements SimplexPluginFactory { public class RemovableDrivePluginFactory implements SimplexPluginFactory {
@@ -19,11 +19,11 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.crypto.PseudoRandom; import net.sf.briar.api.crypto.PseudoRandom;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
class ModemPlugin implements DuplexPlugin, Modem.Callback { class ModemPlugin implements DuplexPlugin, Modem.Callback {
@@ -2,11 +2,11 @@ package net.sf.briar.plugins.modem;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.reliability.ReliabilityLayerFactory; import net.sf.briar.api.reliability.ReliabilityLayerFactory;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
@@ -24,10 +24,10 @@ import java.util.logging.Logger;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.crypto.PseudoRandom; import net.sf.briar.api.crypto.PseudoRandom;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.ByteUtils; import net.sf.briar.util.ByteUtils;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
@@ -4,11 +4,11 @@ import java.util.concurrent.Executor;
import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.Clock;
import net.sf.briar.api.clock.SystemClock; import net.sf.briar.api.clock.SystemClock;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
public class LanTcpPluginFactory implements DuplexPluginFactory { public class LanTcpPluginFactory implements DuplexPluginFactory {
@@ -16,10 +16,10 @@ import java.util.logging.Logger;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.crypto.PseudoRandom; import net.sf.briar.api.crypto.PseudoRandom;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
class WanTcpPlugin extends TcpPlugin { class WanTcpPlugin extends TcpPlugin {
@@ -3,11 +3,11 @@ package net.sf.briar.plugins.tcp;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.lifecycle.ShutdownManager; import net.sf.briar.api.lifecycle.ShutdownManager;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
public class WanTcpPluginFactory implements DuplexPluginFactory { public class WanTcpPluginFactory implements DuplexPluginFactory {
@@ -13,11 +13,11 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportConfig; import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.crypto.PseudoRandom; import net.sf.briar.api.crypto.PseudoRandom;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
import org.silvertunnel.netlib.api.NetAddress; import org.silvertunnel.netlib.api.NetAddress;
@@ -2,11 +2,11 @@ package net.sf.briar.plugins.tor;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils; import net.sf.briar.util.StringUtils;
public class TorPluginFactory implements DuplexPluginFactory { public class TorPluginFactory implements DuplexPluginFactory {
@@ -1,28 +0,0 @@
package net.sf.briar.protocol;
import java.io.OutputStream;
import net.sf.briar.api.protocol.ProtocolWriter;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.serial.SerialComponent;
import net.sf.briar.api.serial.WriterFactory;
import com.google.inject.Inject;
class ProtocolWriterFactoryImpl implements ProtocolWriterFactory {
private final SerialComponent serial;
private final WriterFactory writerFactory;
@Inject
ProtocolWriterFactoryImpl(SerialComponent serial,
WriterFactory writerFactory) {
this.serial = serial;
this.writerFactory = writerFactory;
}
public ProtocolWriter createProtocolWriter(OutputStream out,
boolean flush) {
return new ProtocolWriterImpl(serial, writerFactory, out, flush);
}
}
@@ -1,6 +1,6 @@
package net.sf.briar.serial; package net.sf.briar.serial;
import net.sf.briar.api.protocol.UniqueId; import net.sf.briar.api.messaging.UniqueId;
import net.sf.briar.api.serial.SerialComponent; import net.sf.briar.api.serial.SerialComponent;
class SerialComponentImpl implements SerialComponent { class SerialComponentImpl implements SerialComponent {
@@ -11,12 +11,12 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.messaging.duplex.DuplexConnectionFactory;
import net.sf.briar.api.messaging.simplex.SimplexConnectionFactory;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader; import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter; import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.duplex.DuplexConnectionFactory;
import net.sf.briar.api.protocol.simplex.SimplexConnectionFactory;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionDispatcher; import net.sf.briar.api.transport.ConnectionDispatcher;
import net.sf.briar.api.transport.ConnectionRecogniser; import net.sf.briar.api.transport.ConnectionRecogniser;
@@ -7,7 +7,7 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionRecogniser; import net.sf.briar.api.transport.ConnectionRecogniser;
import net.sf.briar.api.transport.TemporarySecret; import net.sf.briar.api.transport.TemporarySecret;
@@ -8,7 +8,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.transport.ConnectionRegistry; import net.sf.briar.api.transport.ConnectionRegistry;
class ConnectionRegistryImpl implements ConnectionRegistry { class ConnectionRegistryImpl implements ConnectionRegistry {
@@ -21,7 +21,7 @@ import net.sf.briar.api.db.DbException;
import net.sf.briar.api.db.event.ContactRemovedEvent; import net.sf.briar.api.db.event.ContactRemovedEvent;
import net.sf.briar.api.db.event.DatabaseEvent; import net.sf.briar.api.db.event.DatabaseEvent;
import net.sf.briar.api.db.event.DatabaseListener; import net.sf.briar.api.db.event.DatabaseListener;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionRecogniser; import net.sf.briar.api.transport.ConnectionRecogniser;
import net.sf.briar.api.transport.Endpoint; import net.sf.briar.api.transport.Endpoint;
@@ -15,7 +15,7 @@ import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.crypto.ErasableKey; import net.sf.briar.api.crypto.ErasableKey;
import net.sf.briar.api.db.DatabaseComponent; import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.DbException;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.TemporarySecret; import net.sf.briar.api.transport.TemporarySecret;
import net.sf.briar.util.ByteUtils; import net.sf.briar.util.ByteUtils;
+6 -6
View File
@@ -79,6 +79,12 @@
<test name='net.sf.briar.db.DatabaseComponentImplTest'/> <test name='net.sf.briar.db.DatabaseComponentImplTest'/>
<test name='net.sf.briar.lifecycle.ShutdownManagerImplTest'/> <test name='net.sf.briar.lifecycle.ShutdownManagerImplTest'/>
<test name='net.sf.briar.lifecycle.WindowsShutdownManagerImplTest'/> <test name='net.sf.briar.lifecycle.WindowsShutdownManagerImplTest'/>
<test name='net.sf.briar.messaging.ConstantsTest'/>
<test name='net.sf.briar.messaging.ConsumersTest'/>
<test name='net.sf.briar.messaging.PacketReaderImplTest'/>
<test name='net.sf.briar.messaging.PacketWriterImplTest'/>
<test name='net.sf.briar.messaging.simplex.OutgoingSimplexConnectionTest'/>
<test name='net.sf.briar.messaging.simplex.SimplexMessagingIntegrationTest'/>
<test name='net.sf.briar.plugins.PluginManagerImplTest'/> <test name='net.sf.briar.plugins.PluginManagerImplTest'/>
<test name='net.sf.briar.plugins.file.LinuxRemovableDriveFinderTest'/> <test name='net.sf.briar.plugins.file.LinuxRemovableDriveFinderTest'/>
<test name='net.sf.briar.plugins.file.MacRemovableDriveFinderTest'/> <test name='net.sf.briar.plugins.file.MacRemovableDriveFinderTest'/>
@@ -88,12 +94,6 @@
<test name='net.sf.briar.plugins.modem.CountryCodesTest'/> <test name='net.sf.briar.plugins.modem.CountryCodesTest'/>
<test name='net.sf.briar.plugins.modem.ModemPluginTest'/> <test name='net.sf.briar.plugins.modem.ModemPluginTest'/>
<test name='net.sf.briar.plugins.tcp.LanTcpPluginTest'/> <test name='net.sf.briar.plugins.tcp.LanTcpPluginTest'/>
<test name='net.sf.briar.protocol.ConstantsTest'/>
<test name='net.sf.briar.protocol.ConsumersTest'/>
<test name='net.sf.briar.protocol.ProtocolReaderImplTest'/>
<test name='net.sf.briar.protocol.ProtocolWriterImplTest'/>
<test name='net.sf.briar.protocol.simplex.OutgoingSimplexConnectionTest'/>
<test name='net.sf.briar.protocol.simplex.SimplexProtocolIntegrationTest'/>
<test name='net.sf.briar.serial.ReaderImplTest'/> <test name='net.sf.briar.serial.ReaderImplTest'/>
<test name='net.sf.briar.serial.WriterImplTest'/> <test name='net.sf.briar.serial.WriterImplTest'/>
<test name='net.sf.briar.transport.ConnectionReaderImplTest'/> <test name='net.sf.briar.transport.ConnectionReaderImplTest'/>
@@ -17,25 +17,25 @@ import java.util.Random;
import net.sf.briar.api.ContactId; import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties; import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.crypto.CryptoComponent; import net.sf.briar.api.crypto.CryptoComponent;
import net.sf.briar.api.protocol.Ack; import net.sf.briar.api.messaging.Ack;
import net.sf.briar.api.protocol.Author; import net.sf.briar.api.messaging.Author;
import net.sf.briar.api.protocol.AuthorFactory; import net.sf.briar.api.messaging.AuthorFactory;
import net.sf.briar.api.protocol.Group; import net.sf.briar.api.messaging.Group;
import net.sf.briar.api.protocol.GroupFactory; import net.sf.briar.api.messaging.GroupFactory;
import net.sf.briar.api.protocol.Message; import net.sf.briar.api.messaging.Message;
import net.sf.briar.api.protocol.MessageFactory; import net.sf.briar.api.messaging.MessageFactory;
import net.sf.briar.api.protocol.MessageId; import net.sf.briar.api.messaging.MessageId;
import net.sf.briar.api.protocol.MessageVerifier; import net.sf.briar.api.messaging.MessageVerifier;
import net.sf.briar.api.protocol.Offer; import net.sf.briar.api.messaging.Offer;
import net.sf.briar.api.protocol.ProtocolReader; import net.sf.briar.api.messaging.PacketReader;
import net.sf.briar.api.protocol.ProtocolReaderFactory; import net.sf.briar.api.messaging.PacketReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriter; import net.sf.briar.api.messaging.PacketWriter;
import net.sf.briar.api.protocol.ProtocolWriterFactory; import net.sf.briar.api.messaging.PacketWriterFactory;
import net.sf.briar.api.protocol.Request; import net.sf.briar.api.messaging.Request;
import net.sf.briar.api.protocol.SubscriptionUpdate; import net.sf.briar.api.messaging.SubscriptionUpdate;
import net.sf.briar.api.protocol.TransportId; import net.sf.briar.api.messaging.TransportId;
import net.sf.briar.api.protocol.TransportUpdate; import net.sf.briar.api.messaging.TransportUpdate;
import net.sf.briar.api.protocol.UnverifiedMessage; import net.sf.briar.api.messaging.UnverifiedMessage;
import net.sf.briar.api.transport.ConnectionContext; import net.sf.briar.api.transport.ConnectionContext;
import net.sf.briar.api.transport.ConnectionReader; import net.sf.briar.api.transport.ConnectionReader;
import net.sf.briar.api.transport.ConnectionReaderFactory; import net.sf.briar.api.transport.ConnectionReaderFactory;
@@ -45,9 +45,9 @@ import net.sf.briar.clock.ClockModule;
import net.sf.briar.crypto.CryptoModule; import net.sf.briar.crypto.CryptoModule;
import net.sf.briar.db.DatabaseModule; import net.sf.briar.db.DatabaseModule;
import net.sf.briar.lifecycle.LifecycleModule; import net.sf.briar.lifecycle.LifecycleModule;
import net.sf.briar.protocol.ProtocolModule; import net.sf.briar.messaging.MessagingModule;
import net.sf.briar.protocol.duplex.DuplexProtocolModule; import net.sf.briar.messaging.duplex.DuplexMessagingModule;
import net.sf.briar.protocol.simplex.SimplexProtocolModule; import net.sf.briar.messaging.simplex.SimplexMessagingModule;
import net.sf.briar.serial.SerialModule; import net.sf.briar.serial.SerialModule;
import net.sf.briar.transport.TransportModule; import net.sf.briar.transport.TransportModule;
@@ -60,8 +60,8 @@ public class ProtocolIntegrationTest extends BriarTestCase {
private final ConnectionReaderFactory connectionReaderFactory; private final ConnectionReaderFactory connectionReaderFactory;
private final ConnectionWriterFactory connectionWriterFactory; private final ConnectionWriterFactory connectionWriterFactory;
private final ProtocolReaderFactory protocolReaderFactory; private final PacketReaderFactory packetReaderFactory;
private final ProtocolWriterFactory protocolWriterFactory; private final PacketWriterFactory packetWriterFactory;
private final MessageVerifier messageVerifier; private final MessageVerifier messageVerifier;
private final ContactId contactId; private final ContactId contactId;
@@ -80,13 +80,13 @@ public class ProtocolIntegrationTest extends BriarTestCase {
super(); super();
Injector i = Guice.createInjector(new TestDatabaseModule(), Injector i = Guice.createInjector(new TestDatabaseModule(),
new ClockModule(), new CryptoModule(), new DatabaseModule(), new ClockModule(), new CryptoModule(), new DatabaseModule(),
new LifecycleModule(), new ProtocolModule(), new LifecycleModule(), new MessagingModule(),
new DuplexProtocolModule(), new SimplexProtocolModule(), new DuplexMessagingModule(), new SimplexMessagingModule(),
new SerialModule(), new TransportModule()); new SerialModule(), new TransportModule());
connectionReaderFactory = i.getInstance(ConnectionReaderFactory.class); connectionReaderFactory = i.getInstance(ConnectionReaderFactory.class);
connectionWriterFactory = i.getInstance(ConnectionWriterFactory.class); connectionWriterFactory = i.getInstance(ConnectionWriterFactory.class);
protocolReaderFactory = i.getInstance(ProtocolReaderFactory.class); packetReaderFactory = i.getInstance(PacketReaderFactory.class);
protocolWriterFactory = i.getInstance(ProtocolWriterFactory.class); packetWriterFactory = i.getInstance(PacketWriterFactory.class);
messageVerifier = i.getInstance(MessageVerifier.class); messageVerifier = i.getInstance(MessageVerifier.class);
contactId = new ContactId(234); contactId = new ContactId(234);
// Create a shared secret // Create a shared secret
@@ -137,7 +137,7 @@ public class ProtocolIntegrationTest extends BriarTestCase {
ConnectionWriter conn = connectionWriterFactory.createConnectionWriter( ConnectionWriter conn = connectionWriterFactory.createConnectionWriter(
out, Long.MAX_VALUE, ctx, false, true); out, Long.MAX_VALUE, ctx, false, true);
OutputStream out1 = conn.getOutputStream(); OutputStream out1 = conn.getOutputStream();
ProtocolWriter writer = protocolWriterFactory.createProtocolWriter(out1, PacketWriter writer = packetWriterFactory.createPacketWriter(out1,
false); false);
writer.writeAck(new Ack(messageIds)); writer.writeAck(new Ack(messageIds));
@@ -176,7 +176,7 @@ public class ProtocolIntegrationTest extends BriarTestCase {
ConnectionReader conn = connectionReaderFactory.createConnectionReader( ConnectionReader conn = connectionReaderFactory.createConnectionReader(
in, ctx, true, true); in, ctx, true, true);
InputStream in1 = conn.getInputStream(); InputStream in1 = conn.getInputStream();
ProtocolReader reader = protocolReaderFactory.createProtocolReader(in1); PacketReader reader = packetReaderFactory.createPacketReader(in1);
// Read the ack // Read the ack
assertTrue(reader.hasAck()); assertTrue(reader.hasAck());

Some files were not shown because too many files have changed in this diff Show More