Address review comments for TransportKeyManagerImplTest

This commit is contained in:
Torsten Grote
2016-11-04 11:04:44 -02:00
parent f52186ac8c
commit c36f5c795b
8 changed files with 32 additions and 22 deletions

View File

@@ -19,8 +19,6 @@ import org.briarproject.api.plugins.duplex.DuplexPluginFactory;
import org.briarproject.api.plugins.simplex.SimplexPluginFactory;
import org.briarproject.api.transport.KeyManager;
import org.briarproject.api.transport.StreamContext;
import org.briarproject.api.transport.TransportKeyManager;
import org.briarproject.api.transport.TransportKeyManagerFactory;
import java.util.HashMap;
import java.util.Map;

View File

@@ -0,0 +1,24 @@
package org.briarproject.transport;
import org.briarproject.api.contact.ContactId;
import org.briarproject.api.crypto.SecretKey;
import org.briarproject.api.db.DbException;
import org.briarproject.api.db.Transaction;
import org.briarproject.api.transport.StreamContext;
interface TransportKeyManager {
void start(Transaction txn) throws DbException;
void addContact(Transaction txn, ContactId c, SecretKey master,
long timestamp, boolean alice) throws DbException;
void removeContact(ContactId c);
StreamContext getStreamContext(Transaction txn, ContactId c)
throws DbException;
StreamContext getStreamContext(Transaction txn, byte[] tag)
throws DbException;
}

View File

@@ -0,0 +1,10 @@
package org.briarproject.transport;
import org.briarproject.api.TransportId;
interface TransportKeyManagerFactory {
TransportKeyManager createTransportKeyManager(TransportId transportId,
long maxLatency);
}

View File

@@ -5,15 +5,13 @@ import org.briarproject.api.crypto.CryptoComponent;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DatabaseExecutor;
import org.briarproject.api.system.Clock;
import org.briarproject.api.transport.TransportKeyManager;
import org.briarproject.api.transport.TransportKeyManagerFactory;
import java.util.concurrent.Executor;
import java.util.concurrent.ScheduledExecutorService;
import javax.inject.Inject;
public class TransportKeyManagerFactoryImpl implements
class TransportKeyManagerFactoryImpl implements
TransportKeyManagerFactory {
private final DatabaseComponent db;

View File

@@ -10,7 +10,6 @@ import org.briarproject.api.db.DbException;
import org.briarproject.api.db.Transaction;
import org.briarproject.api.system.Clock;
import org.briarproject.api.transport.StreamContext;
import org.briarproject.api.transport.TransportKeyManager;
import org.briarproject.api.transport.TransportKeys;
import org.briarproject.transport.ReorderingWindow.Change;
@@ -64,6 +63,7 @@ class TransportKeyManagerImpl implements TransportKeyManager {
keys = new HashMap<ContactId, MutableTransportKeys>();
}
@Override
public void start(Transaction txn) throws DbException {
long now = clock.currentTimeMillis();
lock.lock();
@@ -156,6 +156,7 @@ class TransportKeyManagerImpl implements TransportKeyManager {
});
}
@Override
public void addContact(Transaction txn, ContactId c, SecretKey master,
long timestamp, boolean alice) throws DbException {
lock.lock();
@@ -177,6 +178,7 @@ class TransportKeyManagerImpl implements TransportKeyManager {
}
}
@Override
public void removeContact(ContactId c) {
lock.lock();
try {
@@ -192,6 +194,7 @@ class TransportKeyManagerImpl implements TransportKeyManager {
}
}
@Override
public StreamContext getStreamContext(Transaction txn, ContactId c)
throws DbException {
lock.lock();
@@ -214,6 +217,7 @@ class TransportKeyManagerImpl implements TransportKeyManager {
}
}
@Override
public StreamContext getStreamContext(Transaction txn, byte[] tag)
throws DbException {
lock.lock();

View File

@@ -7,7 +7,6 @@ import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.transport.KeyManager;
import org.briarproject.api.transport.StreamReaderFactory;
import org.briarproject.api.transport.StreamWriterFactory;
import org.briarproject.api.transport.TransportKeyManagerFactory;
import javax.inject.Inject;
import javax.inject.Singleton;