diff --git a/briar-core/src/main/java/org/briarproject/briar/client/BdfIncomingMessageHook.java b/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfIncomingMessageHook.java similarity index 93% rename from briar-core/src/main/java/org/briarproject/briar/client/BdfIncomingMessageHook.java rename to bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfIncomingMessageHook.java index edc62948d..4b3f76795 100644 --- a/briar-core/src/main/java/org/briarproject/briar/client/BdfIncomingMessageHook.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfIncomingMessageHook.java @@ -1,7 +1,6 @@ -package org.briarproject.briar.client; +package org.briarproject.bramble.api.client; import org.briarproject.bramble.api.FormatException; -import org.briarproject.bramble.api.client.ClientHelper; import org.briarproject.bramble.api.data.BdfDictionary; import org.briarproject.bramble.api.data.BdfList; import org.briarproject.bramble.api.data.MetadataParser; @@ -12,7 +11,7 @@ import org.briarproject.bramble.api.db.Transaction; import org.briarproject.bramble.api.nullsafety.NotNullByDefault; import org.briarproject.bramble.api.sync.InvalidMessageException; import org.briarproject.bramble.api.sync.Message; -import org.briarproject.bramble.api.sync.ValidationManager.IncomingMessageHook; +import org.briarproject.bramble.api.sync.validation.IncomingMessageHook; import javax.annotation.concurrent.Immutable; @@ -62,5 +61,4 @@ public abstract class BdfIncomingMessageHook implements IncomingMessageHook { throw new InvalidMessageException(e); } } - } diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java b/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java index 7d05ee21a..3dfde81bf 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/client/BdfMessageValidator.java @@ -9,7 +9,7 @@ import org.briarproject.bramble.api.sync.Group; import org.briarproject.bramble.api.sync.InvalidMessageException; import org.briarproject.bramble.api.sync.Message; import org.briarproject.bramble.api.sync.MessageContext; -import org.briarproject.bramble.api.sync.ValidationManager.MessageValidator; +import org.briarproject.bramble.api.sync.validation.MessageValidator; import org.briarproject.bramble.api.system.Clock; import java.util.logging.Logger; diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java index 5e6aeb299..9ec8b5c7b 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/db/DatabaseComponent.java @@ -19,6 +19,7 @@ import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.bramble.api.sync.MessageStatus; import org.briarproject.bramble.api.sync.Offer; import org.briarproject.bramble.api.sync.Request; +import org.briarproject.bramble.api.sync.validation.MessageState; import org.briarproject.bramble.api.transport.KeySet; import org.briarproject.bramble.api.transport.KeySetId; import org.briarproject.bramble.api.transport.TransportKeys; @@ -28,8 +29,6 @@ import java.util.Map; import javax.annotation.Nullable; -import static org.briarproject.bramble.api.sync.ValidationManager.State; - /** * Encapsulates the database implementation and exposes high-level operations * to other components. @@ -374,12 +373,12 @@ public interface DatabaseComponent { /** * Returns the IDs and states of all dependencies of the given message. * For missing dependencies and dependencies in other groups, the state - * {@link State UNKNOWN} is returned. + * {@link MessageState UNKNOWN} is returned. *
* Read-only. */ - Map
- * The number of available processors can change during the lifetime of the
- * JVM, so this is just a reasonable guess.
- */
- private static final int MAX_CONCURRENT_VALIDATION_TASKS =
- Math.max(1, Runtime.getRuntime().availableProcessors() - 1);
-
@Provides
- GroupFactory provideGroupFactory(CryptoComponent crypto) {
- return new GroupFactoryImpl(crypto);
+ GroupFactory provideGroupFactory(GroupFactoryImpl groupFactory) {
+ return groupFactory;
}
@Provides
- MessageFactory provideMessageFactory(CryptoComponent crypto) {
- return new MessageFactoryImpl(crypto);
+ MessageFactory provideMessageFactory(MessageFactoryImpl messageFactory) {
+ return messageFactory;
}
@Provides
@@ -65,30 +38,8 @@ public class SyncModule {
@Provides
@Singleton
- SyncSessionFactory provideSyncSessionFactory(DatabaseComponent db,
- @DatabaseExecutor Executor dbExecutor, EventBus eventBus,
- Clock clock, SyncRecordReaderFactory recordReaderFactory,
- SyncRecordWriterFactory recordWriterFactory) {
- return new SyncSessionFactoryImpl(db, dbExecutor, eventBus, clock,
- recordReaderFactory, recordWriterFactory);
- }
-
- @Provides
- @Singleton
- ValidationManager provideValidationManager(
- LifecycleManager lifecycleManager, EventBus eventBus,
- ValidationManagerImpl validationManager) {
- lifecycleManager.registerService(validationManager);
- eventBus.addListener(validationManager);
- return validationManager;
- }
-
- @Provides
- @Singleton
- @ValidationExecutor
- Executor provideValidationExecutor(
- @CryptoExecutor Executor cryptoExecutor) {
- return new PoliteExecutor("ValidationExecutor", cryptoExecutor,
- MAX_CONCURRENT_VALIDATION_TASKS);
+ SyncSessionFactory provideSyncSessionFactory(
+ SyncSessionFactoryImpl syncSessionFactory) {
+ return syncSessionFactory;
}
}
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ValidationExecutor.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationExecutor.java
similarity index 94%
rename from bramble-core/src/main/java/org/briarproject/bramble/sync/ValidationExecutor.java
rename to bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationExecutor.java
index 41cda1d35..645ecf80a 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/sync/ValidationExecutor.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationExecutor.java
@@ -1,4 +1,4 @@
-package org.briarproject.bramble.sync;
+package org.briarproject.bramble.sync.validation;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ValidationManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java
similarity index 93%
rename from bramble-core/src/main/java/org/briarproject/bramble/sync/ValidationManagerImpl.java
rename to bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java
index 2d4579992..ddd5193d3 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/sync/ValidationManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/validation/ValidationManagerImpl.java
@@ -1,4 +1,4 @@
-package org.briarproject.bramble.sync;
+package org.briarproject.bramble.sync.validation;
import org.briarproject.bramble.api.Pair;
import org.briarproject.bramble.api.db.DatabaseComponent;
@@ -18,8 +18,11 @@ import org.briarproject.bramble.api.sync.InvalidMessageException;
import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageContext;
import org.briarproject.bramble.api.sync.MessageId;
-import org.briarproject.bramble.api.sync.ValidationManager;
import org.briarproject.bramble.api.sync.event.MessageAddedEvent;
+import org.briarproject.bramble.api.sync.validation.IncomingMessageHook;
+import org.briarproject.bramble.api.sync.validation.MessageState;
+import org.briarproject.bramble.api.sync.validation.MessageValidator;
+import org.briarproject.bramble.api.sync.validation.ValidationManager;
import org.briarproject.bramble.api.versioning.ClientMajorVersion;
import java.util.Collection;
@@ -37,9 +40,9 @@ import javax.inject.Inject;
import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.DELIVERED;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.INVALID;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.PENDING;
+import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED;
+import static org.briarproject.bramble.api.sync.validation.MessageState.INVALID;
+import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING;
import static org.briarproject.bramble.util.LogUtils.logException;
@ThreadSafe
@@ -166,9 +169,9 @@ class ValidationManagerImpl implements ValidationManager, Service,
// Check if message is still pending
if (db.getMessageState(txn, id) == PENDING) {
// Check if dependencies are valid and delivered
- Map
+ * The number of available processors can change during the lifetime of the
+ * JVM, so this is just a reasonable guess.
+ */
+ private static final int MAX_CONCURRENT_VALIDATION_TASKS =
+ Math.max(1, Runtime.getRuntime().availableProcessors() - 1);
+
+ @Provides
+ @Singleton
+ ValidationManager provideValidationManager(
+ LifecycleManager lifecycleManager, EventBus eventBus,
+ ValidationManagerImpl validationManager) {
+ lifecycleManager.registerService(validationManager);
+ eventBus.addListener(validationManager);
+ return validationManager;
+ }
+
+ @Provides
+ @Singleton
+ @ValidationExecutor
+ Executor provideValidationExecutor(
+ @CryptoExecutor Executor cryptoExecutor) {
+ return new PoliteExecutor("ValidationExecutor", cryptoExecutor,
+ MAX_CONCURRENT_VALIDATION_TASKS);
+ }
+}
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/versioning/ClientVersioningManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/versioning/ClientVersioningManagerImpl.java
index e802c8982..a7a6ac312 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/versioning/ClientVersioningManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/versioning/ClientVersioningManagerImpl.java
@@ -23,7 +23,7 @@ import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.InvalidMessageException;
import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
-import org.briarproject.bramble.api.sync.ValidationManager.IncomingMessageHook;
+import org.briarproject.bramble.api.sync.validation.IncomingMessageHook;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.versioning.ClientMajorVersion;
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/versioning/VersioningModule.java b/bramble-core/src/main/java/org/briarproject/bramble/versioning/VersioningModule.java
index f018ffd76..070e90c76 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/versioning/VersioningModule.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/versioning/VersioningModule.java
@@ -4,7 +4,7 @@ import org.briarproject.bramble.api.client.ClientHelper;
import org.briarproject.bramble.api.contact.ContactManager;
import org.briarproject.bramble.api.data.MetadataEncoder;
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
-import org.briarproject.bramble.api.sync.ValidationManager;
+import org.briarproject.bramble.api.sync.validation.ValidationManager;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.versioning.ClientVersioningManager;
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java
index 77d7ef146..0ca1f3b5e 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabaseComponentImplTest.java
@@ -64,8 +64,8 @@ import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE;
import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED;
import static org.briarproject.bramble.api.sync.Group.Visibility.VISIBLE;
import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_LENGTH;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.DELIVERED;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.UNKNOWN;
+import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED;
+import static org.briarproject.bramble.api.sync.validation.MessageState.UNKNOWN;
import static org.briarproject.bramble.api.transport.TransportConstants.REORDERING_WINDOW_SIZE;
import static org.briarproject.bramble.db.DatabaseConstants.MAX_OFFERED_MESSAGES;
import static org.briarproject.bramble.test.TestUtils.getAuthor;
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java
index 55e5e5ade..f9b2f6149 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/DatabasePerformanceTest.java
@@ -11,7 +11,7 @@ import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.GroupId;
import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
-import org.briarproject.bramble.api.sync.ValidationManager.State;
+import org.briarproject.bramble.api.sync.validation.MessageState;
import org.briarproject.bramble.test.BrambleTestCase;
import org.briarproject.bramble.test.UTest;
import org.junit.After;
@@ -33,7 +33,7 @@ import java.util.logging.Logger;
import static java.util.logging.Level.OFF;
import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_IDS;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.DELIVERED;
+import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED;
import static org.briarproject.bramble.test.TestUtils.deleteTestDirectory;
import static org.briarproject.bramble.test.TestUtils.getAuthor;
import static org.briarproject.bramble.test.TestUtils.getGroup;
@@ -565,7 +565,8 @@ public abstract class DatabasePerformanceTest extends BrambleTestCase {
for (int k = 0; k < MESSAGES_PER_GROUP; k++) {
Message m = getMessage(g.getId());
messages.add(m);
- State state = State.fromValue(random.nextInt(4));
+ MessageState state =
+ MessageState.fromValue(random.nextInt(4));
boolean shared = random.nextBoolean();
ContactId sender = random.nextBoolean() ? c : null;
db.addMessage(txn, m, state, shared, sender);
diff --git a/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabaseTest.java b/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabaseTest.java
index ba032aa72..dcfc96fba 100644
--- a/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabaseTest.java
+++ b/bramble-core/src/test/java/org/briarproject/bramble/db/JdbcDatabaseTest.java
@@ -18,7 +18,7 @@ import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageFactory;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.api.sync.MessageStatus;
-import org.briarproject.bramble.api.sync.ValidationManager.State;
+import org.briarproject.bramble.api.sync.validation.MessageState;
import org.briarproject.bramble.api.system.Clock;
import org.briarproject.bramble.api.transport.IncomingKeys;
import org.briarproject.bramble.api.transport.KeySet;
@@ -58,10 +58,10 @@ import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE;
import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED;
import static org.briarproject.bramble.api.sync.Group.Visibility.VISIBLE;
import static org.briarproject.bramble.api.sync.SyncConstants.MAX_MESSAGE_BODY_LENGTH;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.DELIVERED;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.INVALID;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.PENDING;
-import static org.briarproject.bramble.api.sync.ValidationManager.State.UNKNOWN;
+import static org.briarproject.bramble.api.sync.validation.MessageState.DELIVERED;
+import static org.briarproject.bramble.api.sync.validation.MessageState.INVALID;
+import static org.briarproject.bramble.api.sync.validation.MessageState.PENDING;
+import static org.briarproject.bramble.api.sync.validation.MessageState.UNKNOWN;
import static org.briarproject.bramble.db.DatabaseConstants.DB_SETTINGS_NAMESPACE;
import static org.briarproject.bramble.db.DatabaseConstants.LAST_COMPACTED_KEY;
import static org.briarproject.bramble.db.DatabaseConstants.MAX_COMPACTION_INTERVAL_MS;
@@ -1309,7 +1309,7 @@ public abstract class JdbcDatabaseTest extends BrambleTestCase {
db.addMessageDependency(txn, message1, messageId3, PENDING);
db.addMessageDependency(txn, message2, messageId4, INVALID);
- Map