diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java new file mode 100644 index 0000000000000000000000000000000000000000..36a51a4e3edd6c7f4e038c1bcb6d3b00140dbf17 --- /dev/null +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java @@ -0,0 +1,42 @@ +package org.briarproject.bramble.sync; + +import org.briarproject.bramble.api.nullsafety.NotNullByDefault; +import org.briarproject.bramble.api.sync.ClientId; + +import javax.annotation.concurrent.Immutable; + +@Immutable +@NotNullByDefault +class ClientVersion implements Comparable<ClientVersion> { + + final ClientId clientId; + final int clientVersion; + + ClientVersion(ClientId clientId, int clientVersion) { + this.clientId = clientId; + this.clientVersion = clientVersion; + } + + @Override + public boolean equals(Object o) { + if (o instanceof ClientVersion) { + ClientVersion cv = (ClientVersion) o; + return clientId.equals(cv.clientId) + && clientVersion == cv.clientVersion; + } + return false; + } + + @Override + public int hashCode() { + return (clientId.hashCode() << 16) + clientVersion; + } + + @Override + public int compareTo(ClientVersion c) { + int compare = clientId.compareTo(c.clientId); + if (compare != 0) return compare; + return clientVersion - c.clientVersion; + } +} + diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java index 9cb4d9c63f647815353d77480b1e58f74ebc0135..5594ac5e57331ec89a5d20a5045aca91dc519ee6 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java @@ -501,39 +501,6 @@ class ClientVersioningManagerImpl implements ClientVersioningManager, Client, } } - private static class ClientVersion implements Comparable<ClientVersion> { - - private final ClientId clientId; - private final int clientVersion; - - private ClientVersion(ClientId clientId, int clientVersion) { - this.clientId = clientId; - this.clientVersion = clientVersion; - } - - @Override - public boolean equals(Object o) { - if (o instanceof ClientVersion) { - ClientVersion cv = (ClientVersion) o; - return clientId.equals(cv.clientId) - && clientVersion == cv.clientVersion; - } - return false; - } - - @Override - public int hashCode() { - return (clientId.hashCode() << 16) + clientVersion; - } - - @Override - public int compareTo(ClientVersion c) { - int compare = clientId.compareTo(c.clientId); - if (compare != 0) return compare; - return clientVersion - c.clientVersion; - } - } - private static class ClientState { private final ClientVersion version;