APIs for segmented transports.

This commit is contained in:
akwizgran
2012-01-13 10:53:23 +00:00
parent f6cad10868
commit ab9b05448d
50 changed files with 298 additions and 78 deletions

View File

@@ -1,8 +1,9 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.duplex;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.Plugin;
/** An interface for transport plugins that support duplex communication. */
/** An interface for transport plugins that support duplex communication. */
public interface DuplexPlugin extends Plugin {
/**

View File

@@ -1,9 +1,10 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.duplex;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.PluginCallback;
/**
* An interface for receiving connections created by a duplex transport plugin.
* An interface for handling connections created by a duplex transport plugin.
*/
public interface DuplexPluginCallback extends PluginCallback {

View File

@@ -1,4 +1,4 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.duplex;
import java.util.concurrent.Executor;

View File

@@ -0,0 +1,29 @@
package net.sf.briar.api.plugins.duplex;
import net.sf.briar.api.ContactId;
/**
* An interface for transport plugins that support duplex segmented
* communication.
*/
public interface DuplexSegmentedPlugin {
/**
* Attempts to create and return a connection to the given contact using
* the current transport and configuration properties. Returns null if a
* connection could not be created.
*/
DuplexSegmentedTransportConnection createConnection(ContactId c);
/**
* Starts the invitation process from the inviter's side. Returns null if
* no connection can be established within the given timeout.
*/
DuplexSegmentedTransportConnection sendInvitation(int code, long timeout);
/**
* Starts the invitation process from the invitee's side. Returns null if
* no connection can be established within the given timeout.
*/
DuplexSegmentedTransportConnection acceptInvitation(int code, long timeout);
}

View File

@@ -0,0 +1,16 @@
package net.sf.briar.api.plugins.duplex;
import net.sf.briar.api.ContactId;
/**
* An interface for handling connections created by a duplex segmented
* transport plugin.
*/
public interface DuplexSegmentedPluginCallback {
void incomingConnectionCreated(DuplexSegmentedTransportConnection d);
void outgoingConnectionCreated(ContactId c,
DuplexSegmentedTransportConnection d);
}

View File

@@ -0,0 +1,10 @@
package net.sf.briar.api.plugins.duplex;
import java.util.concurrent.Executor;
public interface DuplexSegmentedPluginFactory {
DuplexSegmentedPlugin createPlugin(Executor pluginExecutor,
DuplexSegmentedPluginCallback callback);
}

View File

@@ -0,0 +1,33 @@
package net.sf.briar.api.plugins.duplex;
import java.io.IOException;
/**
* An interface for reading and writing data over a duplex segmented transport.
* The connection is not responsible for encrypting/decrypting or authenticating
* the data.
*/
public interface DuplexSegmentedTransportConnection {
/**
* Reads a frame into the given buffer and returns its length, or -1 if no
* more frames can be read.
*/
int readFrame(byte[] b) throws IOException;
/** Writes the given frame to the transport. */
void writeFrame(byte[] b, int len) throws IOException;
/**
* Returns true if the output stream should be flushed after each packet.
*/
boolean shouldFlush();
/**
* Closes the connection and disposes of any associated resources. The
* first argument indicates whether the connection is being closed because
* of an exception and the second argument indicates whether the connection
* was recognised, which may affect how resources are disposed of.
*/
void dispose(boolean exception, boolean recognised);
}

View File

@@ -1,4 +1,4 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.duplex;
import java.io.IOException;
import java.io.InputStream;

View File

@@ -1,6 +1,7 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.simplex;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.Plugin;
/** An interface for transport plugins that support simplex communication. */
public interface SimplexPlugin extends Plugin {

View File

@@ -1,9 +1,11 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.simplex;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.PluginCallback;
/**
* An interface for receiving readers and writers created by a simplex plugin.
* An interface for handling readers and writers created by a simplex transport
* plugin.
*/
public interface SimplexPluginCallback extends PluginCallback {

View File

@@ -1,4 +1,4 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.simplex;
import java.util.concurrent.Executor;

View File

@@ -0,0 +1,50 @@
package net.sf.briar.api.plugins.simplex;
import net.sf.briar.api.ContactId;
/**
* An interface for transport plugins that support simplex segmented
* communication.
*/
public interface SimplexSegmentedPlugin {
/**
* Attempts to create and return a reader for the given contact using the
* current transport and configuration properties. Returns null if a reader
* could not be created.
*/
SimplexSegmentedTransportReader createReader(ContactId c);
/**
* Attempts to create and return a writer for the given contact using the
* current transport and configuration properties. Returns null if a writer
* could not be created.
*/
SimplexSegmentedTransportWriter createWriter(ContactId c);
/**
* Starts the invitation process from the inviter's side. Returns null if
* no connection can be established within the given timeout.
*/
SimplexSegmentedTransportWriter sendInvitation(int code, long timeout);
/**
* Starts the invitation process from the invitee's side. Returns null if
* no connection can be established within the given timeout.
*/
SimplexSegmentedTransportReader acceptInvitation(int code, long timeout);
/**
* Continues the invitation process from the invitee's side. Returns null
* if no connection can be established within the given timeout.
*/
SimplexSegmentedTransportWriter sendInvitationResponse(int code,
long timeout);
/**
* Continues the invitation process from the inviter's side. Returns null
* if no connection can be established within the given timeout.
*/
SimplexSegmentedTransportReader acceptInvitationResponse(int code,
long timeout);
}

View File

@@ -0,0 +1,15 @@
package net.sf.briar.api.plugins.simplex;
import net.sf.briar.api.ContactId;
/**
* An interface for handling readers and writers created by a simplex
* segmented transport plugin.
*/
public interface SimplexSegmentedPluginCallback {
void readerCreated(SimplexSegmentedTransportReader r);
void writerCreated(ContactId c, SimplexSegmentedTransportWriter w);
}

View File

@@ -0,0 +1,9 @@
package net.sf.briar.api.plugins.simplex;
import java.util.concurrent.Executor;
public interface SimplexSegmentedPluginFactory {
SimplexSegmentedPlugin createPlugin(Executor pluginExecutor,
SimplexSegmentedPluginCallback callback);
}

View File

@@ -0,0 +1,25 @@
package net.sf.briar.api.plugins.simplex;
import java.io.IOException;
/**
* An interface for reading data from a simplex segmented transport. The reader
* is not responsible for decrypting or authenticating the data before
* returning it.
*/
public interface SimplexSegmentedTransportReader {
/**
* Reads a frame into the given buffer and returns its length, or -1 if no
* more frames can be read.
*/
int readFrame(byte[] b) throws IOException;
/**
* Closes the reader and disposes of any associated resources. The first
* argument indicates whether the reader is being closed because of an
* exception and the second argument indicates whether the connection was
* recognised, which may affect how resources are disposed of.
*/
void dispose(boolean exception, boolean recognised);
}

View File

@@ -0,0 +1,28 @@
package net.sf.briar.api.plugins.simplex;
import java.io.IOException;
/**
* An interface for writing data to a simplex segmented transport. The writer is
* not responsible for authenticating or encrypting the data before writing it.
*/
public interface SimplexSegmentedTransportWriter {
/** Returns the capacity of the transport in bytes. */
long getCapacity();
/** Writes the given frame to the transport. */
void writeFrame(byte[] b, int len) throws IOException;
/**
* Returns true if the output stream should be flushed after each packet.
*/
boolean shouldFlush();
/**
* Closes the writer and disposes of any associated resources. The
* argument indicates whether the writer is being closed because of an
* exception, which may affect how resources are disposed of.
*/
void dispose(boolean exception);
}

View File

@@ -1,4 +1,4 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.simplex;
import java.io.InputStream;

View File

@@ -1,4 +1,4 @@
package net.sf.briar.api.plugins;
package net.sf.briar.api.plugins.simplex;
import java.io.OutputStream;

View File

@@ -1,7 +1,7 @@
package net.sf.briar.api.protocol.duplex;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportIndex;
import net.sf.briar.api.transport.ConnectionContext;

View File

@@ -1,8 +1,8 @@
package net.sf.briar.api.protocol.simplex;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportIndex;
import net.sf.briar.api.transport.ConnectionContext;

View File

@@ -1,9 +1,9 @@
package net.sf.briar.api.transport;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportIndex;

View File

@@ -16,19 +16,19 @@ import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.plugins.SimplexPlugin;
import net.sf.briar.api.plugins.SimplexPluginCallback;
import net.sf.briar.api.plugins.SimplexPluginFactory;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.Plugin;
import net.sf.briar.api.plugins.PluginCallback;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.PluginManager;
import net.sf.briar.api.plugins.DuplexPlugin;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexPluginFactory;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.plugins.simplex.SimplexPlugin;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.plugins.simplex.SimplexPluginFactory;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.ProtocolConstants;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportIndex;

View File

@@ -26,9 +26,9 @@ import javax.microedition.io.StreamConnectionNotifier;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.DuplexPlugin;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
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.StringUtils;

View File

@@ -3,9 +3,9 @@ package net.sf.briar.plugins.bluetooth;
import java.util.concurrent.Executor;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.DuplexPlugin;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexPluginFactory;
import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
public class BluetoothPluginFactory implements DuplexPluginFactory {

View File

@@ -8,7 +8,7 @@ import java.util.logging.Logger;
import javax.microedition.io.StreamConnection;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
class BluetoothTransportConnection implements DuplexTransportConnection {

View File

@@ -11,11 +11,11 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.SimplexPlugin;
import net.sf.briar.api.plugins.SimplexPluginCallback;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.simplex.SimplexPlugin;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.transport.TransportConstants;
import org.apache.commons.io.FileSystemUtils;

View File

@@ -6,7 +6,7 @@ import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
class FileTransportReader implements SimplexTransportReader {

View File

@@ -6,7 +6,7 @@ import java.io.OutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
class FileTransportWriter implements SimplexTransportWriter {

View File

@@ -11,8 +11,8 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.SimplexPluginCallback;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils;

View File

@@ -2,10 +2,10 @@ package net.sf.briar.plugins.file;
import java.util.concurrent.Executor;
import net.sf.briar.api.plugins.SimplexPlugin;
import net.sf.briar.api.plugins.SimplexPluginCallback;
import net.sf.briar.api.plugins.SimplexPluginFactory;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.simplex.SimplexPlugin;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.plugins.simplex.SimplexPluginFactory;
import net.sf.briar.util.OsUtils;
public class RemovableDrivePluginFactory implements SimplexPluginFactory {

View File

@@ -15,8 +15,8 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.util.ByteUtils;
/** A socket plugin that supports exchanging invitations over a LAN. */

View File

@@ -16,8 +16,8 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.util.StringUtils;

View File

@@ -3,9 +3,9 @@ package net.sf.briar.plugins.socket;
import java.util.concurrent.Executor;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.DuplexPlugin;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexPluginFactory;
import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
public class SimpleSocketPluginFactory implements DuplexPluginFactory {

View File

@@ -13,9 +13,9 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.plugins.PluginExecutor;
import net.sf.briar.api.plugins.DuplexPlugin;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
abstract class SocketPlugin implements DuplexPlugin {

View File

@@ -7,7 +7,7 @@ import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
class SocketTransportConnection implements DuplexTransportConnection {

View File

@@ -29,7 +29,7 @@ import net.sf.briar.api.db.event.DatabaseListener;
import net.sf.briar.api.db.event.LocalTransportsUpdatedEvent;
import net.sf.briar.api.db.event.MessagesAddedEvent;
import net.sf.briar.api.db.event.SubscriptionsUpdatedEvent;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.Ack;
import net.sf.briar.api.protocol.Batch;
import net.sf.briar.api.protocol.MessageId;

View File

@@ -5,7 +5,7 @@ import java.util.concurrent.Executor;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.TransportId;

View File

@@ -7,7 +7,7 @@ import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.TransportId;

View File

@@ -5,7 +5,7 @@ import java.util.concurrent.Executor;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.TransportId;

View File

@@ -12,7 +12,7 @@ import net.sf.briar.api.FormatException;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.protocol.Ack;
import net.sf.briar.api.protocol.Batch;
import net.sf.briar.api.protocol.ProtocolReader;

View File

@@ -11,7 +11,7 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.plugins.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;

View File

@@ -5,8 +5,8 @@ import java.util.concurrent.Executor;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DatabaseComponent;
import net.sf.briar.api.db.DatabaseExecutor;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.ProtocolReaderFactory;
import net.sf.briar.api.protocol.ProtocolWriterFactory;
import net.sf.briar.api.protocol.TransportId;

View File

@@ -9,9 +9,9 @@ import java.util.logging.Logger;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.db.DbException;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.protocol.TransportId;
import net.sf.briar.api.protocol.TransportIndex;
import net.sf.briar.api.protocol.duplex.DuplexConnectionFactory;

View File

@@ -6,8 +6,8 @@ import java.util.Map;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
public abstract class DuplexClientTest extends DuplexTest {

View File

@@ -6,8 +6,8 @@ import java.util.concurrent.CountDownLatch;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
public abstract class DuplexServerTest extends DuplexTest {

View File

@@ -5,8 +5,8 @@ import java.io.PrintStream;
import java.util.Scanner;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.DuplexPlugin;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPlugin;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
abstract class DuplexTest {

View File

@@ -13,8 +13,8 @@ import java.util.concurrent.Executor;
import net.sf.briar.BriarTestCase;
import net.sf.briar.TestUtils;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.plugins.SimplexPluginCallback;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
import net.sf.briar.api.transport.TransportConstants;
import net.sf.briar.plugins.ImmediateExecutor;
import net.sf.briar.plugins.file.RemovableDriveMonitor.Callback;

View File

@@ -16,8 +16,8 @@ import net.sf.briar.BriarTestCase;
import net.sf.briar.api.ContactId;
import net.sf.briar.api.TransportConfig;
import net.sf.briar.api.TransportProperties;
import net.sf.briar.api.plugins.DuplexPluginCallback;
import net.sf.briar.api.plugins.DuplexTransportConnection;
import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
import net.sf.briar.api.plugins.duplex.DuplexTransportConnection;
import org.junit.Test;

View File

@@ -2,7 +2,7 @@ package net.sf.briar.protocol.simplex;
import java.io.InputStream;
import net.sf.briar.api.plugins.SimplexTransportReader;
import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
class TestSimplexTransportReader implements SimplexTransportReader {

View File

@@ -3,7 +3,7 @@ package net.sf.briar.protocol.simplex;
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import net.sf.briar.api.plugins.SimplexTransportWriter;
import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
class TestSimplexTransportWriter implements SimplexTransportWriter {