From 46047c7d7f17ef788d04f17303c70e9715e156f5 Mon Sep 17 00:00:00 2001 From: Jordan Halterman Date: Mon, 27 Jul 2015 19:58:05 -0700 Subject: [PATCH] Reorganize Raft related classes into raft package. --- .../kuujo/copycat/atomic/AsyncReference.java | 2 +- .../copycat/atomic/DistributedReference.java | 4 +- .../atomic/state/ReferenceCommands.java | 4 ++ .../copycat/atomic/state/ReferenceState.java | 12 ++--- .../atomic/DistributedReferenceTest.java | 12 ++--- .../copycat/{ => raft}/client/RaftClient.java | 8 ++-- .../{ => raft}/client/package-info.java | 2 +- .../client/state/ClientContext.java | 14 +++--- .../client/state/ClientSession.java | 12 ++--- .../kuujo/copycat/collections/AsyncMap.java | 2 +- .../kuujo/copycat/collections/AsyncSet.java | 2 +- .../copycat/collections/DistributedMap.java | 4 +- .../copycat/collections/DistributedSet.java | 4 +- .../collections/state/MapCommands.java | 4 ++ .../copycat/collections/state/MapState.java | 12 ++--- .../collections/state/SetCommands.java | 4 ++ .../copycat/collections/state/SetState.java | 12 ++--- .../collections/DistributedMapTest.java | 12 ++--- .../collections/DistributedSetTest.java | 12 ++--- .../DistributedLeaderElection.java | 2 +- .../copycat/coordination/DistributedLock.java | 2 +- .../coordination/DistributedTopic.java | 2 +- .../state/LeaderElectionCommands.java | 4 +- .../state/LeaderElectionState.java | 14 +++--- .../coordination/state/LockCommands.java | 4 +- .../copycat/coordination/state/LockState.java | 10 ++--- .../coordination/state/TopicCommands.java | 4 +- .../coordination/state/TopicState.java | 10 ++--- .../DistributedLeaderElectionTest.java | 12 ++--- .../coordination/DistributedLockTest.java | 12 ++--- .../main/java/net/kuujo/copycat/Copycat.java | 13 +++--- .../java/net/kuujo/copycat/CopycatClient.java | 7 +-- .../java/net/kuujo/copycat/CopycatServer.java | 9 ++-- .../src/main/java/net/kuujo/copycat/Node.java | 4 +- .../main/java/net/kuujo/copycat/Resource.java | 5 +++ .../main/java/net/kuujo/copycat/Stateful.java | 2 +- .../net/kuujo/copycat/manager/CreatePath.java | 4 +- .../kuujo/copycat/manager/CreateResource.java | 6 +-- .../net/kuujo/copycat/manager/DeletePath.java | 4 +- .../kuujo/copycat/manager/DeleteResource.java | 4 +- .../manager/ManagedResourceSession.java | 2 +- .../kuujo/copycat/manager/PathChildren.java | 6 +-- .../net/kuujo/copycat/manager/PathExists.java | 6 +-- .../kuujo/copycat/manager/PathOperation.java | 2 +- .../kuujo/copycat/manager/ResourceExists.java | 6 +-- .../copycat/manager/ResourceManager.java | 12 ++--- .../copycat/resource/ResourceCommand.java | 4 +- .../copycat/resource/ResourceOperation.java | 2 +- .../copycat/resource/ResourceProtocol.java | 8 ++-- .../kuujo/copycat/resource/ResourceQuery.java | 6 +-- .../copycat/resource/ResourceSession.java | 2 +- .../{ => raft}/transport/LocalClient.java | 5 ++- .../{ => raft}/transport/LocalConnection.java | 5 ++- .../{ => raft}/transport/LocalServer.java | 4 +- .../transport/LocalServerRegistry.java | 2 +- .../{ => raft}/transport/LocalTransport.java | 5 ++- .../transport/LocalTransportTest.java | 3 +- .../copycat/{ => raft}/log/Compaction.java | 2 +- .../copycat/{ => raft}/log/Compactor.java | 10 ++--- .../{ => raft}/log/DescriptorException.java | 2 +- .../kuujo/copycat/{ => raft}/log/Entry.java | 4 +- .../copycat/{ => raft}/log/EntryFilter.java | 8 ++-- .../net/kuujo/copycat/{ => raft}/log/Log.java | 2 +- .../copycat/{ => raft}/log/LogConfig.java | 2 +- .../copycat/{ => raft}/log/LogException.java | 2 +- .../{ => raft}/log/MajorCompaction.java | 2 +- .../{ => raft}/log/MinorCompaction.java | 2 +- .../copycat/{ => raft}/log/OffsetIndex.java | 2 +- .../{ => raft}/log/SearchableOffsetIndex.java | 2 +- .../kuujo/copycat/{ => raft}/log/Segment.java | 2 +- .../{ => raft}/log/SegmentDescriptor.java | 2 +- .../copycat/{ => raft}/log/SegmentFile.java | 2 +- .../{ => raft}/log/SegmentManager.java | 2 +- .../copycat/{ => raft}/log/StorageLevel.java | 8 ++-- .../{ => raft}/log/TypedEntryPool.java | 2 +- .../copycat/{ => raft}/log/package-info.java | 6 +-- .../kuujo/copycat/{ => raft}/log/LogTest.java | 2 +- .../{ => raft}/log/MajorCompactionTest.java | 2 +- .../{ => raft}/log/MinorCompactionTest.java | 2 +- .../log/SearchableOffsetIndexTest.java | 3 +- .../{ => raft}/log/SegmentDescriptorTest.java | 3 +- .../copycat/{ => raft}/log/TestEntry.java | 2 +- ....copycat.io.serializer.CopycatSerializable | 2 +- .../{ => raft}/transport/ByteBufBuffer.java | 2 +- .../{ => raft}/transport/NettyClient.java | 2 +- .../{ => raft}/transport/NettyConnection.java | 2 +- .../{ => raft}/transport/NettyHandler.java | 2 +- .../{ => raft}/transport/NettyServer.java | 2 +- .../{ => raft}/transport/NettyTransport.java | 2 +- .../transport/NettyTransportTest.java | 6 ++- .../{ => raft}/ApplicationException.java | 2 +- .../net/kuujo/copycat/{ => raft}/Command.java | 4 +- .../copycat/{ => raft}/ConsistencyLevel.java | 2 +- .../IllegalMemberStateException.java | 2 +- .../copycat/{ => raft}/InternalException.java | 2 +- .../net/kuujo/copycat/{ => raft}/Member.java | 2 +- .../net/kuujo/copycat/{ => raft}/Members.java | 3 +- .../copycat/{ => raft}/NoLeaderException.java | 2 +- .../kuujo/copycat/{ => raft}/Operation.java | 4 +- .../net/kuujo/copycat/{ => raft}/Query.java | 4 +- .../net/kuujo/copycat/{ => raft}/Raft.java | 8 ++-- .../kuujo/copycat/{ => raft}/RaftError.java | 2 +- .../copycat/{ => raft}/RaftException.java | 2 +- .../copycat/{ => raft}/ReadException.java | 2 +- .../net/kuujo/copycat/{ => raft}/Session.java | 5 ++- .../{ => raft}/UnknownSessionException.java | 2 +- .../copycat/{ => raft}/WriteException.java | 2 +- .../copycat/{ => raft}/package-info.java | 2 +- .../{ => raft}/protocol/AbstractRequest.java | 2 +- .../{ => raft}/protocol/AbstractResponse.java | 4 +- .../{ => raft}/protocol/AppendRequest.java | 4 +- .../{ => raft}/protocol/AppendResponse.java | 4 +- .../{ => raft}/protocol/ClientRequest.java | 2 +- .../{ => raft}/protocol/ClientResponse.java | 2 +- .../{ => raft}/protocol/CommandRequest.java | 4 +- .../{ => raft}/protocol/CommandResponse.java | 4 +- .../{ => raft}/protocol/JoinRequest.java | 4 +- .../{ => raft}/protocol/JoinResponse.java | 6 +-- .../{ => raft}/protocol/KeepAliveRequest.java | 2 +- .../protocol/KeepAliveResponse.java | 6 +-- .../{ => raft}/protocol/LeaveRequest.java | 4 +- .../{ => raft}/protocol/LeaveResponse.java | 4 +- .../{ => raft}/protocol/PollRequest.java | 2 +- .../{ => raft}/protocol/PollResponse.java | 4 +- .../protocol/ProtocolException.java | 2 +- .../{ => raft}/protocol/PublishRequest.java | 2 +- .../{ => raft}/protocol/PublishResponse.java | 4 +- .../{ => raft}/protocol/QueryRequest.java | 4 +- .../{ => raft}/protocol/QueryResponse.java | 4 +- .../{ => raft}/protocol/RegisterRequest.java | 2 +- .../{ => raft}/protocol/RegisterResponse.java | 6 +-- .../copycat/{ => raft}/protocol/Request.java | 2 +- .../copycat/{ => raft}/protocol/Response.java | 4 +- .../{ => raft}/protocol/SessionRequest.java | 2 +- .../{ => raft}/protocol/VoteRequest.java | 2 +- .../{ => raft}/protocol/VoteResponse.java | 4 +- .../{ => raft}/protocol/package-info.java | 10 ++--- ....copycat.io.serializer.CopycatSerializable | 44 +++++++++---------- .../copycat/{ => raft}/server/Apply.java | 4 +- .../copycat/{ => raft}/server/Commit.java | 22 +++++----- .../copycat/{ => raft}/server/Filter.java | 8 ++-- .../copycat/{ => raft}/server/RaftConfig.java | 2 +- .../copycat/{ => raft}/server/RaftServer.java | 9 ++-- .../{ => raft}/server/StateMachine.java | 18 ++++---- .../{ => raft}/server/log/CommandEntry.java | 6 +-- .../server/log/ConfigurationEntry.java | 6 +-- .../{ => raft}/server/log/KeepAliveEntry.java | 4 +- .../{ => raft}/server/log/NoOpEntry.java | 4 +- .../{ => raft}/server/log/OperationEntry.java | 4 +- .../{ => raft}/server/log/QueryEntry.java | 6 +-- .../{ => raft}/server/log/RaftEntry.java | 4 +- .../{ => raft}/server/log/RegisterEntry.java | 4 +- .../{ => raft}/server/log/SessionEntry.java | 4 +- .../server/log/TimestampedEntry.java | 4 +- .../{ => raft}/server/package-info.java | 2 +- .../server/state/AbstractState.java | 6 +-- .../{ => raft}/server/state/ActiveState.java | 14 +++--- .../server/state/CandidateState.java | 10 ++--- .../{ => raft}/server/state/ClusterState.java | 6 +-- .../server/state/ConnectionManager.java | 8 ++-- .../server/state/FollowerState.java | 12 ++--- .../server/state/InactiveState.java | 6 +-- .../{ => raft}/server/state/JoinState.java | 10 ++--- .../{ => raft}/server/state/LeaderState.java | 12 ++--- .../{ => raft}/server/state/LeaveState.java | 12 ++--- .../{ => raft}/server/state/MemberState.java | 4 +- .../{ => raft}/server/state/PassiveState.java | 16 +++---- .../server/state/ServerContext.java | 29 ++++++------ .../server/state/ServerSession.java | 14 +++--- .../server/state/SessionManager.java | 6 +-- .../{ => raft}/server/util/Quorum.java | 2 +- ....copycat.io.serializer.CopycatSerializable | 12 ++--- .../raft/{ => server}/StateMachineTest.java | 16 +++---- .../raft/{ => server}/util/QuorumTest.java | 4 +- .../copycat/{ => raft}/transport/Client.java | 12 ++--- .../{ => raft}/transport/Connection.java | 16 +++---- .../{ => raft}/transport/MessageHandler.java | 6 +-- .../copycat/{ => raft}/transport/Server.java | 10 ++--- .../{ => raft}/transport/Transport.java | 30 ++++++------- .../transport/TransportException.java | 2 +- .../{ => raft}/transport/package-info.java | 8 ++-- 181 files changed, 548 insertions(+), 498 deletions(-) rename client/src/main/java/net/kuujo/copycat/{ => raft}/client/RaftClient.java (97%) rename client/src/main/java/net/kuujo/copycat/{ => raft}/client/package-info.java (95%) rename client/src/main/java/net/kuujo/copycat/{ => raft}/client/state/ClientContext.java (98%) rename client/src/main/java/net/kuujo/copycat/{ => raft}/client/state/ClientSession.java (93%) rename local/src/main/java/net/kuujo/copycat/{ => raft}/transport/LocalClient.java (93%) rename local/src/main/java/net/kuujo/copycat/{ => raft}/transport/LocalConnection.java (95%) rename local/src/main/java/net/kuujo/copycat/{ => raft}/transport/LocalServer.java (96%) rename local/src/main/java/net/kuujo/copycat/{ => raft}/transport/LocalServerRegistry.java (97%) rename local/src/main/java/net/kuujo/copycat/{ => raft}/transport/LocalTransport.java (94%) rename local/src/test/java/net/kuujo/copycat/{ => raft}/transport/LocalTransportTest.java (97%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/Compaction.java (98%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/Compactor.java (94%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/DescriptorException.java (96%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/Entry.java (97%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/EntryFilter.java (79%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/Log.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/LogConfig.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/LogException.java (96%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/MajorCompaction.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/MinorCompaction.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/OffsetIndex.java (98%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/SearchableOffsetIndex.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/Segment.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/SegmentDescriptor.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/SegmentFile.java (98%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/SegmentManager.java (99%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/StorageLevel.java (75%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/TypedEntryPool.java (98%) rename log/src/main/java/net/kuujo/copycat/{ => raft}/log/package-info.java (90%) rename log/src/test/java/net/kuujo/copycat/{ => raft}/log/LogTest.java (99%) rename log/src/test/java/net/kuujo/copycat/{ => raft}/log/MajorCompactionTest.java (98%) rename log/src/test/java/net/kuujo/copycat/{ => raft}/log/MinorCompactionTest.java (98%) rename log/src/test/java/net/kuujo/copycat/{ => raft}/log/SearchableOffsetIndexTest.java (96%) rename log/src/test/java/net/kuujo/copycat/{ => raft}/log/SegmentDescriptorTest.java (97%) rename log/src/test/java/net/kuujo/copycat/{ => raft}/log/TestEntry.java (98%) rename netty/src/main/java/net/kuujo/copycat/{ => raft}/transport/ByteBufBuffer.java (99%) rename netty/src/main/java/net/kuujo/copycat/{ => raft}/transport/NettyClient.java (99%) rename netty/src/main/java/net/kuujo/copycat/{ => raft}/transport/NettyConnection.java (99%) rename netty/src/main/java/net/kuujo/copycat/{ => raft}/transport/NettyHandler.java (99%) rename netty/src/main/java/net/kuujo/copycat/{ => raft}/transport/NettyServer.java (99%) rename netty/src/main/java/net/kuujo/copycat/{ => raft}/transport/NettyTransport.java (98%) rename netty/src/test/java/net/kuujo/copycat/{ => raft}/transport/NettyTransportTest.java (91%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/ApplicationException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Command.java (95%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/ConsistencyLevel.java (99%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/IllegalMemberStateException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/InternalException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Member.java (99%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Members.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/NoLeaderException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Operation.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Query.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Raft.java (96%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/RaftError.java (99%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/RaftException.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/ReadException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/Session.java (96%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/UnknownSessionException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/WriteException.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/package-info.java (96%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/AbstractRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/AbstractResponse.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/AppendRequest.java (99%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/AppendResponse.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/ClientRequest.java (96%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/ClientResponse.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/CommandRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/CommandResponse.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/JoinRequest.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/JoinResponse.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/KeepAliveRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/KeepAliveResponse.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/LeaveRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/LeaveResponse.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/PollRequest.java (99%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/PollResponse.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/ProtocolException.java (96%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/PublishRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/PublishResponse.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/QueryRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/QueryResponse.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/RegisterRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/RegisterResponse.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/Request.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/Response.java (97%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/SessionRequest.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/VoteRequest.java (99%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/VoteResponse.java (98%) rename protocol/src/main/java/net/kuujo/copycat/{ => raft}/protocol/package-info.java (79%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/Apply.java (95%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/Commit.java (83%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/Filter.java (87%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/RaftConfig.java (99%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/RaftServer.java (98%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/StateMachine.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/CommandEntry.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/ConfigurationEntry.java (95%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/KeepAliveEntry.java (93%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/NoOpEntry.java (93%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/OperationEntry.java (92%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/QueryEntry.java (95%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/RaftEntry.java (93%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/RegisterEntry.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/SessionEntry.java (95%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/log/TimestampedEntry.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/package-info.java (95%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/AbstractState.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/ActiveState.java (97%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/CandidateState.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/ClusterState.java (98%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/ConnectionManager.java (93%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/FollowerState.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/InactiveState.java (95%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/JoinState.java (93%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/LeaderState.java (99%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/LeaveState.java (93%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/MemberState.java (96%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/PassiveState.java (97%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/ServerContext.java (97%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/ServerSession.java (92%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/state/SessionManager.java (94%) rename server/src/main/java/net/kuujo/copycat/{ => raft}/server/util/Quorum.java (97%) rename server/src/test/java/net/kuujo/copycat/raft/{ => server}/StateMachineTest.java (85%) rename server/src/test/java/net/kuujo/copycat/raft/{ => server}/util/QuorumTest.java (94%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/Client.java (78%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/Connection.java (87%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/MessageHandler.java (94%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/Server.java (84%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/Transport.java (56%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/TransportException.java (96%) rename transport/src/main/java/net/kuujo/copycat/{ => raft}/transport/package-info.java (65%) diff --git a/atomic/src/main/java/net/kuujo/copycat/atomic/AsyncReference.java b/atomic/src/main/java/net/kuujo/copycat/atomic/AsyncReference.java index eb0363c6f7..6185794dd5 100644 --- a/atomic/src/main/java/net/kuujo/copycat/atomic/AsyncReference.java +++ b/atomic/src/main/java/net/kuujo/copycat/atomic/AsyncReference.java @@ -18,7 +18,7 @@ import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; import net.kuujo.copycat.PersistenceLevel; -import net.kuujo.copycat.ConsistencyLevel; +import net.kuujo.copycat.raft.ConsistencyLevel; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; diff --git a/atomic/src/main/java/net/kuujo/copycat/atomic/DistributedReference.java b/atomic/src/main/java/net/kuujo/copycat/atomic/DistributedReference.java index 60d83a3b79..83769e4bc2 100644 --- a/atomic/src/main/java/net/kuujo/copycat/atomic/DistributedReference.java +++ b/atomic/src/main/java/net/kuujo/copycat/atomic/DistributedReference.java @@ -18,8 +18,8 @@ import net.kuujo.copycat.*; import net.kuujo.copycat.atomic.state.ReferenceCommands; import net.kuujo.copycat.atomic.state.ReferenceState; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Raft; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Raft; import java.util.Collections; import java.util.concurrent.CompletableFuture; diff --git a/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceCommands.java b/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceCommands.java index 61f8763ce7..3d7646b29b 100644 --- a/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceCommands.java +++ b/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceCommands.java @@ -21,6 +21,10 @@ import net.kuujo.copycat.io.serializer.CopycatSerializable; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import java.util.concurrent.TimeUnit; diff --git a/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceState.java b/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceState.java index a0dd12a7c4..71a537045a 100644 --- a/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceState.java +++ b/atomic/src/main/java/net/kuujo/copycat/atomic/state/ReferenceState.java @@ -16,12 +16,12 @@ package net.kuujo.copycat.atomic.state; import net.kuujo.copycat.PersistenceLevel; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import java.util.HashSet; import java.util.concurrent.atomic.AtomicReference; diff --git a/atomic/src/test/java/net/kuujo/copycat/atomic/DistributedReferenceTest.java b/atomic/src/test/java/net/kuujo/copycat/atomic/DistributedReferenceTest.java index 5268b5c9aa..3a8ab8b6cf 100644 --- a/atomic/src/test/java/net/kuujo/copycat/atomic/DistributedReferenceTest.java +++ b/atomic/src/test/java/net/kuujo/copycat/atomic/DistributedReferenceTest.java @@ -19,12 +19,12 @@ import net.kuujo.copycat.Copycat; import net.kuujo.copycat.CopycatServer; import net.kuujo.copycat.Node; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.log.StorageLevel; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.transport.LocalServerRegistry; -import net.kuujo.copycat.transport.LocalTransport; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.log.StorageLevel; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.transport.LocalServerRegistry; +import net.kuujo.copycat.raft.transport.LocalTransport; import org.testng.annotations.Test; import java.util.ArrayList; diff --git a/client/src/main/java/net/kuujo/copycat/client/RaftClient.java b/client/src/main/java/net/kuujo/copycat/raft/client/RaftClient.java similarity index 97% rename from client/src/main/java/net/kuujo/copycat/client/RaftClient.java rename to client/src/main/java/net/kuujo/copycat/raft/client/RaftClient.java index 662380933a..bb613fac44 100644 --- a/client/src/main/java/net/kuujo/copycat/client/RaftClient.java +++ b/client/src/main/java/net/kuujo/copycat/raft/client/RaftClient.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.client; +package net.kuujo.copycat.raft.client; -import net.kuujo.copycat.*; -import net.kuujo.copycat.client.state.ClientContext; +import net.kuujo.copycat.raft.client.state.ClientContext; import net.kuujo.copycat.io.serializer.Serializer; import net.kuujo.copycat.io.serializer.ServiceLoaderResolver; -import net.kuujo.copycat.transport.Transport; +import net.kuujo.copycat.raft.*; +import net.kuujo.copycat.raft.transport.Transport; import net.kuujo.copycat.util.Managed; import net.kuujo.copycat.util.concurrent.Context; diff --git a/client/src/main/java/net/kuujo/copycat/client/package-info.java b/client/src/main/java/net/kuujo/copycat/raft/client/package-info.java similarity index 95% rename from client/src/main/java/net/kuujo/copycat/client/package-info.java rename to client/src/main/java/net/kuujo/copycat/raft/client/package-info.java index 24c5e444be..d4c69b7713 100644 --- a/client/src/main/java/net/kuujo/copycat/client/package-info.java +++ b/client/src/main/java/net/kuujo/copycat/raft/client/package-info.java @@ -19,4 +19,4 @@ * * @author Jordan Halterman */ -package net.kuujo.copycat.client; +package net.kuujo.copycat.raft.client; diff --git a/client/src/main/java/net/kuujo/copycat/client/state/ClientContext.java b/client/src/main/java/net/kuujo/copycat/raft/client/state/ClientContext.java similarity index 98% rename from client/src/main/java/net/kuujo/copycat/client/state/ClientContext.java rename to client/src/main/java/net/kuujo/copycat/raft/client/state/ClientContext.java index 5d2d1214c1..18ffd91742 100644 --- a/client/src/main/java/net/kuujo/copycat/client/state/ClientContext.java +++ b/client/src/main/java/net/kuujo/copycat/raft/client/state/ClientContext.java @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.client.state; +package net.kuujo.copycat.raft.client.state; -import net.kuujo.copycat.*; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.transport.Client; -import net.kuujo.copycat.transport.Connection; -import net.kuujo.copycat.transport.Transport; -import net.kuujo.copycat.transport.TransportException; +import net.kuujo.copycat.raft.*; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.transport.Client; +import net.kuujo.copycat.raft.transport.Connection; +import net.kuujo.copycat.raft.transport.Transport; +import net.kuujo.copycat.raft.transport.TransportException; import net.kuujo.copycat.util.Managed; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.Futures; diff --git a/client/src/main/java/net/kuujo/copycat/client/state/ClientSession.java b/client/src/main/java/net/kuujo/copycat/raft/client/state/ClientSession.java similarity index 93% rename from client/src/main/java/net/kuujo/copycat/client/state/ClientSession.java rename to client/src/main/java/net/kuujo/copycat/raft/client/state/ClientSession.java index 71c2313cf3..095029f9a3 100644 --- a/client/src/main/java/net/kuujo/copycat/client/state/ClientSession.java +++ b/client/src/main/java/net/kuujo/copycat/raft/client/state/ClientSession.java @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.client.state; +package net.kuujo.copycat.raft.client.state; import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; import net.kuujo.copycat.Listeners; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.protocol.PublishRequest; -import net.kuujo.copycat.protocol.PublishResponse; -import net.kuujo.copycat.protocol.Response; -import net.kuujo.copycat.transport.Connection; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.protocol.PublishRequest; +import net.kuujo.copycat.raft.protocol.PublishResponse; +import net.kuujo.copycat.raft.protocol.Response; +import net.kuujo.copycat.raft.transport.Connection; import net.kuujo.copycat.util.concurrent.Context; import java.util.UUID; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/AsyncMap.java b/collections/src/main/java/net/kuujo/copycat/collections/AsyncMap.java index 7584eccdd8..1c3b048153 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/AsyncMap.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/AsyncMap.java @@ -16,7 +16,7 @@ package net.kuujo.copycat.collections; import net.kuujo.copycat.PersistenceLevel; -import net.kuujo.copycat.ConsistencyLevel; +import net.kuujo.copycat.raft.ConsistencyLevel; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/AsyncSet.java b/collections/src/main/java/net/kuujo/copycat/collections/AsyncSet.java index 72782b2a37..6d49ccd68c 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/AsyncSet.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/AsyncSet.java @@ -16,7 +16,7 @@ package net.kuujo.copycat.collections; import net.kuujo.copycat.PersistenceLevel; -import net.kuujo.copycat.ConsistencyLevel; +import net.kuujo.copycat.raft.ConsistencyLevel; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/DistributedMap.java b/collections/src/main/java/net/kuujo/copycat/collections/DistributedMap.java index 24c3343c53..b56bb7e121 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/DistributedMap.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/DistributedMap.java @@ -20,8 +20,8 @@ import net.kuujo.copycat.Stateful; import net.kuujo.copycat.collections.state.MapCommands; import net.kuujo.copycat.collections.state.MapState; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Raft; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Raft; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/DistributedSet.java b/collections/src/main/java/net/kuujo/copycat/collections/DistributedSet.java index cdc6f231a1..c349379c17 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/DistributedSet.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/DistributedSet.java @@ -20,8 +20,8 @@ import net.kuujo.copycat.Stateful; import net.kuujo.copycat.collections.state.SetCommands; import net.kuujo.copycat.collections.state.SetState; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Raft; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Raft; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/state/MapCommands.java b/collections/src/main/java/net/kuujo/copycat/collections/state/MapCommands.java index a3194ab369..4153ff66f6 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/state/MapCommands.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/state/MapCommands.java @@ -21,6 +21,10 @@ import net.kuujo.copycat.io.serializer.CopycatSerializable; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import java.util.concurrent.TimeUnit; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/state/MapState.java b/collections/src/main/java/net/kuujo/copycat/collections/state/MapState.java index cdb5278de9..64d4a869f6 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/state/MapState.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/state/MapState.java @@ -16,12 +16,12 @@ package net.kuujo.copycat.collections.state; import net.kuujo.copycat.PersistenceLevel; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import java.util.HashMap; import java.util.HashSet; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/state/SetCommands.java b/collections/src/main/java/net/kuujo/copycat/collections/state/SetCommands.java index 543488e143..cc4fe0fd8d 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/state/SetCommands.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/state/SetCommands.java @@ -21,6 +21,10 @@ import net.kuujo.copycat.io.serializer.CopycatSerializable; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import java.util.concurrent.TimeUnit; diff --git a/collections/src/main/java/net/kuujo/copycat/collections/state/SetState.java b/collections/src/main/java/net/kuujo/copycat/collections/state/SetState.java index 75ce2176b5..1a8ecbccc8 100644 --- a/collections/src/main/java/net/kuujo/copycat/collections/state/SetState.java +++ b/collections/src/main/java/net/kuujo/copycat/collections/state/SetState.java @@ -16,12 +16,12 @@ package net.kuujo.copycat.collections.state; import net.kuujo.copycat.PersistenceLevel; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import java.util.HashMap; import java.util.HashSet; diff --git a/collections/src/test/java/net/kuujo/copycat/collections/DistributedMapTest.java b/collections/src/test/java/net/kuujo/copycat/collections/DistributedMapTest.java index 632f3a2f0b..3fc37d08d1 100644 --- a/collections/src/test/java/net/kuujo/copycat/collections/DistributedMapTest.java +++ b/collections/src/test/java/net/kuujo/copycat/collections/DistributedMapTest.java @@ -19,12 +19,12 @@ import net.kuujo.copycat.Copycat; import net.kuujo.copycat.CopycatServer; import net.kuujo.copycat.Node; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.log.StorageLevel; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.transport.LocalServerRegistry; -import net.kuujo.copycat.transport.LocalTransport; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.log.StorageLevel; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.transport.LocalServerRegistry; +import net.kuujo.copycat.raft.transport.LocalTransport; import org.testng.annotations.Test; import java.util.ArrayList; diff --git a/collections/src/test/java/net/kuujo/copycat/collections/DistributedSetTest.java b/collections/src/test/java/net/kuujo/copycat/collections/DistributedSetTest.java index 6a275a51f7..b43758cd7d 100644 --- a/collections/src/test/java/net/kuujo/copycat/collections/DistributedSetTest.java +++ b/collections/src/test/java/net/kuujo/copycat/collections/DistributedSetTest.java @@ -19,12 +19,12 @@ import net.kuujo.copycat.Copycat; import net.kuujo.copycat.CopycatServer; import net.kuujo.copycat.Node; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.log.StorageLevel; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.transport.LocalServerRegistry; -import net.kuujo.copycat.transport.LocalTransport; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.log.StorageLevel; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.transport.LocalServerRegistry; +import net.kuujo.copycat.raft.transport.LocalTransport; import org.testng.annotations.Test; import java.util.ArrayList; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLeaderElection.java b/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLeaderElection.java index 7b2ac12c42..49e3fc5b1e 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLeaderElection.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLeaderElection.java @@ -21,7 +21,7 @@ import net.kuujo.copycat.Stateful; import net.kuujo.copycat.coordination.state.LeaderElectionCommands; import net.kuujo.copycat.coordination.state.LeaderElectionState; -import net.kuujo.copycat.Raft; +import net.kuujo.copycat.raft.Raft; import java.util.Collections; import java.util.Set; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLock.java b/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLock.java index 37352aabdf..cd9ab9b4e5 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLock.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedLock.java @@ -19,7 +19,7 @@ import net.kuujo.copycat.Stateful; import net.kuujo.copycat.coordination.state.LockCommands; import net.kuujo.copycat.coordination.state.LockState; -import net.kuujo.copycat.Raft; +import net.kuujo.copycat.raft.Raft; import java.util.Queue; import java.util.concurrent.CompletableFuture; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedTopic.java b/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedTopic.java index 58f6cd361a..523464b8f6 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedTopic.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/DistributedTopic.java @@ -21,7 +21,7 @@ import net.kuujo.copycat.Stateful; import net.kuujo.copycat.coordination.state.TopicCommands; import net.kuujo.copycat.coordination.state.TopicState; -import net.kuujo.copycat.Raft; +import net.kuujo.copycat.raft.Raft; import java.util.List; import java.util.concurrent.CompletableFuture; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionCommands.java b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionCommands.java index 1b34aaaac2..2e0b3e7b2e 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionCommands.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionCommands.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.coordination.state; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionState.java b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionState.java index 3faa63a21f..36a44a1d53 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionState.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LeaderElectionState.java @@ -15,13 +15,13 @@ */ package net.kuujo.copycat.coordination.state; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import java.util.ArrayList; import java.util.List; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockCommands.java b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockCommands.java index 7391289fac..45e171f23d 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockCommands.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockCommands.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.coordination.state; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockState.java b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockState.java index fbf95174fc..2ed75025e9 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockState.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/state/LockState.java @@ -15,11 +15,11 @@ */ package net.kuujo.copycat.coordination.state; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import java.util.ArrayDeque; import java.util.Queue; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicCommands.java b/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicCommands.java index 1c382bb8d4..d785cafa52 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicCommands.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicCommands.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.coordination.state; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicState.java b/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicState.java index f74e5b027b..883b7062d3 100644 --- a/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicState.java +++ b/coordination/src/main/java/net/kuujo/copycat/coordination/state/TopicState.java @@ -15,11 +15,11 @@ */ package net.kuujo.copycat.coordination.state; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import java.util.HashSet; import java.util.Set; diff --git a/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLeaderElectionTest.java b/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLeaderElectionTest.java index 54e7983885..09bb17fbc5 100644 --- a/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLeaderElectionTest.java +++ b/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLeaderElectionTest.java @@ -19,12 +19,12 @@ import net.kuujo.copycat.Copycat; import net.kuujo.copycat.CopycatServer; import net.kuujo.copycat.Node; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.log.StorageLevel; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.transport.LocalServerRegistry; -import net.kuujo.copycat.transport.LocalTransport; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.log.StorageLevel; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.transport.LocalServerRegistry; +import net.kuujo.copycat.raft.transport.LocalTransport; import org.testng.annotations.Test; import java.util.ArrayList; diff --git a/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLockTest.java b/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLockTest.java index de938f4472..6a84bd0513 100644 --- a/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLockTest.java +++ b/coordination/src/test/java/net/kuujo/copycat/coordination/DistributedLockTest.java @@ -19,12 +19,12 @@ import net.kuujo.copycat.Copycat; import net.kuujo.copycat.CopycatServer; import net.kuujo.copycat.Node; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.log.StorageLevel; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.transport.LocalServerRegistry; -import net.kuujo.copycat.transport.LocalTransport; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.log.StorageLevel; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.transport.LocalServerRegistry; +import net.kuujo.copycat.raft.transport.LocalTransport; import org.testng.annotations.Test; import java.util.ArrayList; diff --git a/core/src/main/java/net/kuujo/copycat/Copycat.java b/core/src/main/java/net/kuujo/copycat/Copycat.java index 4ef4624947..dcc8da8480 100644 --- a/core/src/main/java/net/kuujo/copycat/Copycat.java +++ b/core/src/main/java/net/kuujo/copycat/Copycat.java @@ -19,7 +19,8 @@ import net.kuujo.copycat.manager.CreateResource; import net.kuujo.copycat.manager.DeletePath; import net.kuujo.copycat.manager.PathExists; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.Raft; +import net.kuujo.copycat.raft.server.StateMachine; import net.kuujo.copycat.resource.ResourceProtocol; import net.kuujo.copycat.util.Managed; @@ -38,13 +39,13 @@ *

* To create a resource, create a {@link net.kuujo.copycat.Node} and then create the resource by passing the resource * {@link java.lang.Class} to the {@link Node#create(Class)} method. When a resource is created, the - * {@link net.kuujo.copycat.server.StateMachine} associated with the resource will be created on each Raft server + * {@link net.kuujo.copycat.raft.server.StateMachine} associated with the resource will be created on each Raft server * and future operations submitted for that resource will be applied to the state machine. Internally, resource state * machines are multiplexed across a shared Raft log. *

* {@link net.kuujo.copycat.Resource} implementations serve as a user-friendly interface through which to submit - * {@link Command commands} and {@link Query queries} to the underlying - * {@link Raft} client or server. + * {@link net.kuujo.copycat.raft.Command commands} and {@link net.kuujo.copycat.raft.Query queries} to the underlying + * {@link net.kuujo.copycat.raft.Raft} client or server. * * @author Jordan Halterman */ @@ -118,13 +119,13 @@ public CompletableFuture create(String path) { * don't already exist. *

* The provided {@link net.kuujo.copycat.Resource} class must be annotated with {@link net.kuujo.copycat.Stateful} - * indicating the {@link net.kuujo.copycat.server.StateMachine} to create on the server side. The state machine + * indicating the {@link net.kuujo.copycat.raft.server.StateMachine} to create on the server side. The state machine * class will be submitted to the cluster and created on each Raft server before the returned * {@link java.util.concurrent.CompletableFuture} is completed. * * @param path The path at which to create the resource. * @param type The resource type to create. This must be a class annotated with {@link net.kuujo.copycat.Stateful} - * indicating the {@link net.kuujo.copycat.server.StateMachine} class to use. + * indicating the {@link net.kuujo.copycat.raft.server.StateMachine} class to use. * @param The resource type. * @return A completable future to be completed once the resource has been created. */ diff --git a/core/src/main/java/net/kuujo/copycat/CopycatClient.java b/core/src/main/java/net/kuujo/copycat/CopycatClient.java index a2f1e3c6f8..935c04f0fc 100644 --- a/core/src/main/java/net/kuujo/copycat/CopycatClient.java +++ b/core/src/main/java/net/kuujo/copycat/CopycatClient.java @@ -15,9 +15,10 @@ */ package net.kuujo.copycat; -import net.kuujo.copycat.client.RaftClient; +import net.kuujo.copycat.raft.client.RaftClient; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.transport.Transport; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.transport.Transport; import java.util.concurrent.TimeUnit; @@ -25,7 +26,7 @@ * Client-side {@link net.kuujo.copycat.Copycat} implementation. *

* This is a {@link net.kuujo.copycat.Copycat} implementation that executes all {@link net.kuujo.copycat.Resource} operations - * remotely via a {@link net.kuujo.copycat.client.RaftClient}. + * remotely via a {@link net.kuujo.copycat.raft.client.RaftClient}. * * @author Jordan Halterman */ diff --git a/core/src/main/java/net/kuujo/copycat/CopycatServer.java b/core/src/main/java/net/kuujo/copycat/CopycatServer.java index 24c7949e9d..2ed79192f0 100644 --- a/core/src/main/java/net/kuujo/copycat/CopycatServer.java +++ b/core/src/main/java/net/kuujo/copycat/CopycatServer.java @@ -16,10 +16,11 @@ package net.kuujo.copycat; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Log; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.log.Log; import net.kuujo.copycat.manager.ResourceManager; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.transport.Transport; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.transport.Transport; import net.kuujo.copycat.util.concurrent.CopycatThreadFactory; import java.util.concurrent.Executors; @@ -31,7 +32,7 @@ * Server-side {@link net.kuujo.copycat.Copycat} implementation. *

* This is a {@link net.kuujo.copycat.Copycat} implementation that manages state for resources and executes all - * {@link net.kuujo.copycat.Resource} operations locally via a {@link net.kuujo.copycat.server.RaftServer}. + * {@link net.kuujo.copycat.Resource} operations locally via a {@link net.kuujo.copycat.raft.server.RaftServer}. * * @author Jordan Halterman */ diff --git a/core/src/main/java/net/kuujo/copycat/Node.java b/core/src/main/java/net/kuujo/copycat/Node.java index 2641dde2b9..de825cea22 100644 --- a/core/src/main/java/net/kuujo/copycat/Node.java +++ b/core/src/main/java/net/kuujo/copycat/Node.java @@ -137,7 +137,7 @@ public CompletableFuture create(String path) { * Creates a resource at this node. *

* The provided {@link net.kuujo.copycat.Resource} class must be annotated with {@link net.kuujo.copycat.Stateful} - * indicating the {@link net.kuujo.copycat.server.StateMachine} to create on the server side. The state machine + * indicating the {@link net.kuujo.copycat.raft.server.StateMachine} to create on the server side. The state machine * class will be submitted to the cluster and created on each Raft server before the returned * {@link java.util.concurrent.CompletableFuture} is completed. * @@ -153,7 +153,7 @@ public CompletableFuture create(Class type) { * Gets a resource at this node. *

* The provided {@link net.kuujo.copycat.Resource} class must be annotated with {@link net.kuujo.copycat.Stateful} - * indicating the {@link net.kuujo.copycat.server.StateMachine} type on the server side. + * indicating the {@link net.kuujo.copycat.raft.server.StateMachine} type on the server side. * * @param type The resource type. * @param The resource type. diff --git a/core/src/main/java/net/kuujo/copycat/Resource.java b/core/src/main/java/net/kuujo/copycat/Resource.java index b995588d79..a6039055d0 100644 --- a/core/src/main/java/net/kuujo/copycat/Resource.java +++ b/core/src/main/java/net/kuujo/copycat/Resource.java @@ -15,6 +15,11 @@ */ package net.kuujo.copycat; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; +import net.kuujo.copycat.raft.Raft; + import java.util.concurrent.CompletableFuture; /** diff --git a/core/src/main/java/net/kuujo/copycat/Stateful.java b/core/src/main/java/net/kuujo/copycat/Stateful.java index 19a66fa098..28f0eb64d3 100644 --- a/core/src/main/java/net/kuujo/copycat/Stateful.java +++ b/core/src/main/java/net/kuujo/copycat/Stateful.java @@ -15,7 +15,7 @@ */ package net.kuujo.copycat; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.server.StateMachine; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/net/kuujo/copycat/manager/CreatePath.java b/core/src/main/java/net/kuujo/copycat/manager/CreatePath.java index 7292973c7e..6e8a83600a 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/CreatePath.java +++ b/core/src/main/java/net/kuujo/copycat/manager/CreatePath.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.serializer.SerializeWith; /** diff --git a/core/src/main/java/net/kuujo/copycat/manager/CreateResource.java b/core/src/main/java/net/kuujo/copycat/manager/CreateResource.java index cb154a2ff0..3f9b474815 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/CreateResource.java +++ b/core/src/main/java/net/kuujo/copycat/manager/CreateResource.java @@ -16,14 +16,14 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializationException; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.server.StateMachine; /** * Create resource command. diff --git a/core/src/main/java/net/kuujo/copycat/manager/DeletePath.java b/core/src/main/java/net/kuujo/copycat/manager/DeletePath.java index cf8dcb4db0..2d2df70fae 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/DeletePath.java +++ b/core/src/main/java/net/kuujo/copycat/manager/DeletePath.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.serializer.SerializeWith; /** diff --git a/core/src/main/java/net/kuujo/copycat/manager/DeleteResource.java b/core/src/main/java/net/kuujo/copycat/manager/DeleteResource.java index 35273d33ad..cfac67ec99 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/DeleteResource.java +++ b/core/src/main/java/net/kuujo/copycat/manager/DeleteResource.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/core/src/main/java/net/kuujo/copycat/manager/ManagedResourceSession.java b/core/src/main/java/net/kuujo/copycat/manager/ManagedResourceSession.java index 90eb344e47..632839d29b 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/ManagedResourceSession.java +++ b/core/src/main/java/net/kuujo/copycat/manager/ManagedResourceSession.java @@ -18,7 +18,7 @@ import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; import net.kuujo.copycat.Listeners; -import net.kuujo.copycat.Session; +import net.kuujo.copycat.raft.Session; import net.kuujo.copycat.resource.ResourceMessage; import java.util.UUID; diff --git a/core/src/main/java/net/kuujo/copycat/manager/PathChildren.java b/core/src/main/java/net/kuujo/copycat/manager/PathChildren.java index 240f47d712..7c422280b4 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/PathChildren.java +++ b/core/src/main/java/net/kuujo/copycat/manager/PathChildren.java @@ -16,9 +16,9 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Query; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import net.kuujo.copycat.io.serializer.SerializeWith; import java.util.List; diff --git a/core/src/main/java/net/kuujo/copycat/manager/PathExists.java b/core/src/main/java/net/kuujo/copycat/manager/PathExists.java index d263b04fe3..4e9c400efe 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/PathExists.java +++ b/core/src/main/java/net/kuujo/copycat/manager/PathExists.java @@ -16,9 +16,9 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Query; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import net.kuujo.copycat.io.serializer.SerializeWith; /** diff --git a/core/src/main/java/net/kuujo/copycat/manager/PathOperation.java b/core/src/main/java/net/kuujo/copycat/manager/PathOperation.java index 0b309e7a9d..82a3faf14c 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/PathOperation.java +++ b/core/src/main/java/net/kuujo/copycat/manager/PathOperation.java @@ -16,7 +16,7 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/core/src/main/java/net/kuujo/copycat/manager/ResourceExists.java b/core/src/main/java/net/kuujo/copycat/manager/ResourceExists.java index 8a31e8cac5..0cef3a0ddc 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/ResourceExists.java +++ b/core/src/main/java/net/kuujo/copycat/manager/ResourceExists.java @@ -16,9 +16,9 @@ package net.kuujo.copycat.manager; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Query; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import net.kuujo.copycat.io.serializer.SerializeWith; /** diff --git a/core/src/main/java/net/kuujo/copycat/manager/ResourceManager.java b/core/src/main/java/net/kuujo/copycat/manager/ResourceManager.java index b697c01c70..ebbc14e190 100644 --- a/core/src/main/java/net/kuujo/copycat/manager/ResourceManager.java +++ b/core/src/main/java/net/kuujo/copycat/manager/ResourceManager.java @@ -15,12 +15,12 @@ */ package net.kuujo.copycat.manager; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import net.kuujo.copycat.resource.ResourceCommand; import net.kuujo.copycat.resource.ResourceOperation; import net.kuujo.copycat.resource.ResourceQuery; diff --git a/core/src/main/java/net/kuujo/copycat/resource/ResourceCommand.java b/core/src/main/java/net/kuujo/copycat/resource/ResourceCommand.java index 94e52b3736..b8ebf0abe0 100644 --- a/core/src/main/java/net/kuujo/copycat/resource/ResourceCommand.java +++ b/core/src/main/java/net/kuujo/copycat/resource/ResourceCommand.java @@ -16,8 +16,8 @@ package net.kuujo.copycat.resource; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.serializer.SerializeWith; /** diff --git a/core/src/main/java/net/kuujo/copycat/resource/ResourceOperation.java b/core/src/main/java/net/kuujo/copycat/resource/ResourceOperation.java index 1c12d3a61d..8c47d29bb8 100644 --- a/core/src/main/java/net/kuujo/copycat/resource/ResourceOperation.java +++ b/core/src/main/java/net/kuujo/copycat/resource/ResourceOperation.java @@ -15,7 +15,7 @@ */ package net.kuujo.copycat.resource; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Operation; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/core/src/main/java/net/kuujo/copycat/resource/ResourceProtocol.java b/core/src/main/java/net/kuujo/copycat/resource/ResourceProtocol.java index d0cb6b42a9..75012f2f0d 100644 --- a/core/src/main/java/net/kuujo/copycat/resource/ResourceProtocol.java +++ b/core/src/main/java/net/kuujo/copycat/resource/ResourceProtocol.java @@ -16,10 +16,10 @@ package net.kuujo.copycat.resource; import net.kuujo.copycat.manager.DeleteResource; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Query; -import net.kuujo.copycat.Raft; -import net.kuujo.copycat.Session; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Query; +import net.kuujo.copycat.raft.Raft; +import net.kuujo.copycat.raft.Session; import net.kuujo.copycat.util.concurrent.Context; import java.util.concurrent.CompletableFuture; diff --git a/core/src/main/java/net/kuujo/copycat/resource/ResourceQuery.java b/core/src/main/java/net/kuujo/copycat/resource/ResourceQuery.java index 4b5e2ebc26..e16e4eadd3 100644 --- a/core/src/main/java/net/kuujo/copycat/resource/ResourceQuery.java +++ b/core/src/main/java/net/kuujo/copycat/resource/ResourceQuery.java @@ -16,9 +16,9 @@ package net.kuujo.copycat.resource; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Query; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Query; import net.kuujo.copycat.io.serializer.SerializeWith; /** diff --git a/core/src/main/java/net/kuujo/copycat/resource/ResourceSession.java b/core/src/main/java/net/kuujo/copycat/resource/ResourceSession.java index 6949e4ecf2..a1d206c183 100644 --- a/core/src/main/java/net/kuujo/copycat/resource/ResourceSession.java +++ b/core/src/main/java/net/kuujo/copycat/resource/ResourceSession.java @@ -17,7 +17,7 @@ import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; -import net.kuujo.copycat.Session; +import net.kuujo.copycat.raft.Session; import net.kuujo.copycat.util.concurrent.Context; import java.util.Collections; diff --git a/local/src/main/java/net/kuujo/copycat/transport/LocalClient.java b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalClient.java similarity index 93% rename from local/src/main/java/net/kuujo/copycat/transport/LocalClient.java rename to local/src/main/java/net/kuujo/copycat/raft/transport/LocalClient.java index 8904181564..6a5ab9d5b2 100644 --- a/local/src/main/java/net/kuujo/copycat/transport/LocalClient.java +++ b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalClient.java @@ -13,9 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.transport.Client; +import net.kuujo.copycat.raft.transport.Connection; +import net.kuujo.copycat.raft.transport.TransportException; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.Futures; import net.kuujo.copycat.util.concurrent.SingleThreadContext; diff --git a/local/src/main/java/net/kuujo/copycat/transport/LocalConnection.java b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalConnection.java similarity index 95% rename from local/src/main/java/net/kuujo/copycat/transport/LocalConnection.java rename to local/src/main/java/net/kuujo/copycat/raft/transport/LocalConnection.java index 996ccc359c..63681155d4 100644 --- a/local/src/main/java/net/kuujo/copycat/transport/LocalConnection.java +++ b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalConnection.java @@ -13,12 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; import net.kuujo.copycat.Listeners; import net.kuujo.copycat.io.Buffer; +import net.kuujo.copycat.raft.transport.Connection; +import net.kuujo.copycat.raft.transport.MessageHandler; +import net.kuujo.copycat.raft.transport.TransportException; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.Futures; diff --git a/local/src/main/java/net/kuujo/copycat/transport/LocalServer.java b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalServer.java similarity index 96% rename from local/src/main/java/net/kuujo/copycat/transport/LocalServer.java rename to local/src/main/java/net/kuujo/copycat/raft/transport/LocalServer.java index 47cd0a9deb..36917f0e22 100644 --- a/local/src/main/java/net/kuujo/copycat/transport/LocalServer.java +++ b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalServer.java @@ -13,10 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.Listener; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.transport.Connection; +import net.kuujo.copycat.raft.transport.Server; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.SingleThreadContext; diff --git a/local/src/main/java/net/kuujo/copycat/transport/LocalServerRegistry.java b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalServerRegistry.java similarity index 97% rename from local/src/main/java/net/kuujo/copycat/transport/LocalServerRegistry.java rename to local/src/main/java/net/kuujo/copycat/raft/transport/LocalServerRegistry.java index 5fe0d51b2c..bfccb7cfb9 100644 --- a/local/src/main/java/net/kuujo/copycat/transport/LocalServerRegistry.java +++ b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalServerRegistry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import java.net.InetSocketAddress; import java.util.Map; diff --git a/local/src/main/java/net/kuujo/copycat/transport/LocalTransport.java b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalTransport.java similarity index 94% rename from local/src/main/java/net/kuujo/copycat/transport/LocalTransport.java rename to local/src/main/java/net/kuujo/copycat/raft/transport/LocalTransport.java index f27ecc4820..a21167074a 100644 --- a/local/src/main/java/net/kuujo/copycat/transport/LocalTransport.java +++ b/local/src/main/java/net/kuujo/copycat/raft/transport/LocalTransport.java @@ -13,9 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.transport.Client; +import net.kuujo.copycat.raft.transport.Server; +import net.kuujo.copycat.raft.transport.Transport; import java.util.Map; import java.util.UUID; diff --git a/local/src/test/java/net/kuujo/copycat/transport/LocalTransportTest.java b/local/src/test/java/net/kuujo/copycat/raft/transport/LocalTransportTest.java similarity index 97% rename from local/src/test/java/net/kuujo/copycat/transport/LocalTransportTest.java rename to local/src/test/java/net/kuujo/copycat/raft/transport/LocalTransportTest.java index 3bd6053516..222c809184 100644 --- a/local/src/test/java/net/kuujo/copycat/transport/LocalTransportTest.java +++ b/local/src/test/java/net/kuujo/copycat/raft/transport/LocalTransportTest.java @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.jodah.concurrentunit.ConcurrentTestCase; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.transport.*; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.SingleThreadContext; import org.testng.annotations.Test; diff --git a/log/src/main/java/net/kuujo/copycat/log/Compaction.java b/log/src/main/java/net/kuujo/copycat/raft/log/Compaction.java similarity index 98% rename from log/src/main/java/net/kuujo/copycat/log/Compaction.java rename to log/src/main/java/net/kuujo/copycat/raft/log/Compaction.java index ccd9c44b2b..7a05005dfa 100644 --- a/log/src/main/java/net/kuujo/copycat/log/Compaction.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/Compaction.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import java.util.concurrent.CompletableFuture; diff --git a/log/src/main/java/net/kuujo/copycat/log/Compactor.java b/log/src/main/java/net/kuujo/copycat/raft/log/Compactor.java similarity index 94% rename from log/src/main/java/net/kuujo/copycat/log/Compactor.java rename to log/src/main/java/net/kuujo/copycat/raft/log/Compactor.java index 9397e8fafc..cd2ab1808b 100644 --- a/log/src/main/java/net/kuujo/copycat/log/Compactor.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/Compactor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.util.concurrent.Context; import org.slf4j.Logger; @@ -26,13 +26,13 @@ /** * Handles compaction for a log. *

- * The log compactor manages compaction processes for a {@link net.kuujo.copycat.log.Log} instance. When the compactor + * The log compactor manages compaction processes for a {@link Log} instance. When the compactor * is {@link #open(net.kuujo.copycat.util.concurrent.Context) opened}, the compactor will schedule both - * {@link net.kuujo.copycat.log.MinorCompaction minor} and {@link net.kuujo.copycat.log.MajorCompaction major} compactions + * {@link MinorCompaction minor} and {@link MajorCompaction major} compactions * based on the {@link #getMinorCompactionInterval()} and {@link #getMajorCompactionInterval()} respectively. Compaction - * will take place in a single background thread. During compaction, the respective {@link net.kuujo.copycat.log.Compaction} + * will take place in a single background thread. During compaction, the respective {@link Compaction} * is responsible for iterating over compactable segments, rewriting segments, and registering new segments with the - * {@link net.kuujo.copycat.log.SegmentManager}. + * {@link SegmentManager}. * * @author Jordan Halterman */ diff --git a/log/src/main/java/net/kuujo/copycat/log/DescriptorException.java b/log/src/main/java/net/kuujo/copycat/raft/log/DescriptorException.java similarity index 96% rename from log/src/main/java/net/kuujo/copycat/log/DescriptorException.java rename to log/src/main/java/net/kuujo/copycat/raft/log/DescriptorException.java index 15745bec35..4d042c8bc7 100644 --- a/log/src/main/java/net/kuujo/copycat/log/DescriptorException.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/DescriptorException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; /** * Segment descriptor exception. diff --git a/log/src/main/java/net/kuujo/copycat/log/Entry.java b/log/src/main/java/net/kuujo/copycat/raft/log/Entry.java similarity index 97% rename from log/src/main/java/net/kuujo/copycat/log/Entry.java rename to log/src/main/java/net/kuujo/copycat/raft/log/Entry.java index 4fc62a895f..61badb4653 100644 --- a/log/src/main/java/net/kuujo/copycat/log/Entry.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/Entry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.serializer.CopycatSerializable; import net.kuujo.copycat.util.ReferenceCounted; @@ -24,7 +24,7 @@ /** * Log entry. *

- * The {@code Entry} represents a single record in a Copycat {@link net.kuujo.copycat.log.Log}. Each entry is stored at + * The {@code Entry} represents a single record in a Copycat {@link Log}. Each entry is stored at * a unique {@link #getIndex() index} in the log. Indexes are applied to entries once written to a log. *

* Custom entry implementations should implement serialization and deserialization logic via diff --git a/log/src/main/java/net/kuujo/copycat/log/EntryFilter.java b/log/src/main/java/net/kuujo/copycat/raft/log/EntryFilter.java similarity index 79% rename from log/src/main/java/net/kuujo/copycat/log/EntryFilter.java rename to log/src/main/java/net/kuujo/copycat/raft/log/EntryFilter.java index ec73107b31..2449678674 100644 --- a/log/src/main/java/net/kuujo/copycat/log/EntryFilter.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/EntryFilter.java @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import java.util.concurrent.CompletableFuture; /** * Log entry filter. *

- * The entry filter assist in {@link net.kuujo.copycat.log.Compaction} by providing a mechanism through which to define + * The entry filter assist in {@link Compaction} by providing a mechanism through which to define * which entries should be retained in the log during compaction. During the log compaction process, the configured - * {@link net.kuujo.copycat.log.Compactor#filter(EntryFilter)} will be called for each entry in the segment or segments + * {@link Compactor#filter(EntryFilter)} will be called for each entry in the segment or segments * being compacted. * * @author Jordan Halterman @@ -33,7 +33,7 @@ public interface EntryFilter { /** * Returns a boolean value indicating whether to keep the given entry in the log. *

- * During compaction, the {@link net.kuujo.copycat.log.Compaction} will call this method for each {@link net.kuujo.copycat.log.Entry} + * During compaction, the {@link Compaction} will call this method for each {@link Entry} * in the segment or segments being compacted. If this method returns {@code true} then the entry will be written to * the compacted segment, otherwise it will be permanently discarded from the log. Users should favor accepting * unneeded entries over rejecting entries. diff --git a/log/src/main/java/net/kuujo/copycat/log/Log.java b/log/src/main/java/net/kuujo/copycat/raft/log/Log.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/Log.java rename to log/src/main/java/net/kuujo/copycat/raft/log/Log.java index 0736654adc..4ff969237e 100644 --- a/log/src/main/java/net/kuujo/copycat/log/Log.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/Log.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.util.concurrent.Context; diff --git a/log/src/main/java/net/kuujo/copycat/log/LogConfig.java b/log/src/main/java/net/kuujo/copycat/raft/log/LogConfig.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/LogConfig.java rename to log/src/main/java/net/kuujo/copycat/raft/log/LogConfig.java index d03308b122..11f1575b3a 100644 --- a/log/src/main/java/net/kuujo/copycat/log/LogConfig.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/LogConfig.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import java.io.File; import java.util.concurrent.TimeUnit; diff --git a/log/src/main/java/net/kuujo/copycat/log/LogException.java b/log/src/main/java/net/kuujo/copycat/raft/log/LogException.java similarity index 96% rename from log/src/main/java/net/kuujo/copycat/log/LogException.java rename to log/src/main/java/net/kuujo/copycat/raft/log/LogException.java index ecef0dd8fa..cc7120fd3b 100644 --- a/log/src/main/java/net/kuujo/copycat/log/LogException.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/LogException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.CopycatException; diff --git a/log/src/main/java/net/kuujo/copycat/log/MajorCompaction.java b/log/src/main/java/net/kuujo/copycat/raft/log/MajorCompaction.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/MajorCompaction.java rename to log/src/main/java/net/kuujo/copycat/raft/log/MajorCompaction.java index e465bf047b..21e1d8c8eb 100644 --- a/log/src/main/java/net/kuujo/copycat/log/MajorCompaction.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/MajorCompaction.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.util.concurrent.Context; import org.slf4j.Logger; diff --git a/log/src/main/java/net/kuujo/copycat/log/MinorCompaction.java b/log/src/main/java/net/kuujo/copycat/raft/log/MinorCompaction.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/MinorCompaction.java rename to log/src/main/java/net/kuujo/copycat/raft/log/MinorCompaction.java index 3cf652dd9f..3f16e2dc1d 100644 --- a/log/src/main/java/net/kuujo/copycat/log/MinorCompaction.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/MinorCompaction.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.util.concurrent.Context; import org.slf4j.Logger; diff --git a/log/src/main/java/net/kuujo/copycat/log/OffsetIndex.java b/log/src/main/java/net/kuujo/copycat/raft/log/OffsetIndex.java similarity index 98% rename from log/src/main/java/net/kuujo/copycat/log/OffsetIndex.java rename to log/src/main/java/net/kuujo/copycat/raft/log/OffsetIndex.java index ddd754caeb..3c5c609ab6 100644 --- a/log/src/main/java/net/kuujo/copycat/log/OffsetIndex.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/OffsetIndex.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; /** * Offset index. diff --git a/log/src/main/java/net/kuujo/copycat/log/SearchableOffsetIndex.java b/log/src/main/java/net/kuujo/copycat/raft/log/SearchableOffsetIndex.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/SearchableOffsetIndex.java rename to log/src/main/java/net/kuujo/copycat/raft/log/SearchableOffsetIndex.java index 9855b5d4dd..9a840b3653 100644 --- a/log/src/main/java/net/kuujo/copycat/log/SearchableOffsetIndex.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/SearchableOffsetIndex.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.Buffer; import net.kuujo.copycat.io.util.BitArray; diff --git a/log/src/main/java/net/kuujo/copycat/log/Segment.java b/log/src/main/java/net/kuujo/copycat/raft/log/Segment.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/Segment.java rename to log/src/main/java/net/kuujo/copycat/raft/log/Segment.java index 62ae2ddce2..92776e9423 100644 --- a/log/src/main/java/net/kuujo/copycat/log/Segment.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/Segment.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.Buffer; import net.kuujo.copycat.io.serializer.Serializer; diff --git a/log/src/main/java/net/kuujo/copycat/log/SegmentDescriptor.java b/log/src/main/java/net/kuujo/copycat/raft/log/SegmentDescriptor.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/SegmentDescriptor.java rename to log/src/main/java/net/kuujo/copycat/raft/log/SegmentDescriptor.java index 5b223fc61d..643dd9bceb 100644 --- a/log/src/main/java/net/kuujo/copycat/log/SegmentDescriptor.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/SegmentDescriptor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.Buffer; import net.kuujo.copycat.io.FileBuffer; diff --git a/log/src/main/java/net/kuujo/copycat/log/SegmentFile.java b/log/src/main/java/net/kuujo/copycat/raft/log/SegmentFile.java similarity index 98% rename from log/src/main/java/net/kuujo/copycat/log/SegmentFile.java rename to log/src/main/java/net/kuujo/copycat/raft/log/SegmentFile.java index 33cc87b4a1..bfbcdde70a 100644 --- a/log/src/main/java/net/kuujo/copycat/log/SegmentFile.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/SegmentFile.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import java.io.File; diff --git a/log/src/main/java/net/kuujo/copycat/log/SegmentManager.java b/log/src/main/java/net/kuujo/copycat/raft/log/SegmentManager.java similarity index 99% rename from log/src/main/java/net/kuujo/copycat/log/SegmentManager.java rename to log/src/main/java/net/kuujo/copycat/raft/log/SegmentManager.java index a24611ddf6..8e3425d269 100644 --- a/log/src/main/java/net/kuujo/copycat/log/SegmentManager.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/SegmentManager.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.ConfigurationException; import net.kuujo.copycat.io.Buffer; diff --git a/log/src/main/java/net/kuujo/copycat/log/StorageLevel.java b/log/src/main/java/net/kuujo/copycat/raft/log/StorageLevel.java similarity index 75% rename from log/src/main/java/net/kuujo/copycat/log/StorageLevel.java rename to log/src/main/java/net/kuujo/copycat/raft/log/StorageLevel.java index ae5e6ec056..e699c1c1a7 100644 --- a/log/src/main/java/net/kuujo/copycat/log/StorageLevel.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/StorageLevel.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; /** * Log storage level constants. *

- * The storage level indicates the persistence mechanism to be used by the Copycat {@link net.kuujo.copycat.log.Log}. + * The storage level indicates the persistence mechanism to be used by the Copycat {@link Log}. * * @author Jordan Halterman */ @@ -27,7 +27,7 @@ public enum StorageLevel { /** * Memory storage level. *

- * The memory storage level will configure the {@link net.kuujo.copycat.log.Log} to use a {@link net.kuujo.copycat.io.HeapBuffer} + * The memory storage level will configure the {@link Log} to use a {@link net.kuujo.copycat.io.HeapBuffer} * to store log data in a {@code byte[]} backed memory buffer. */ MEMORY, @@ -35,7 +35,7 @@ public enum StorageLevel { /** * Disk storage level. *

- * The disk storage level will configure the {@link net.kuujo.copycat.log.Log} to use a {@link net.kuujo.copycat.io.FileBuffer} + * The disk storage level will configure the {@link Log} to use a {@link net.kuujo.copycat.io.FileBuffer} * to store log data on disk in a series of segment files. */ DISK diff --git a/log/src/main/java/net/kuujo/copycat/log/TypedEntryPool.java b/log/src/main/java/net/kuujo/copycat/raft/log/TypedEntryPool.java similarity index 98% rename from log/src/main/java/net/kuujo/copycat/log/TypedEntryPool.java rename to log/src/main/java/net/kuujo/copycat/raft/log/TypedEntryPool.java index c36c695be0..dfc345fdd8 100644 --- a/log/src/main/java/net/kuujo/copycat/log/TypedEntryPool.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/TypedEntryPool.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.serializer.SerializationException; import net.kuujo.copycat.util.ReferenceManager; diff --git a/log/src/main/java/net/kuujo/copycat/log/package-info.java b/log/src/main/java/net/kuujo/copycat/raft/log/package-info.java similarity index 90% rename from log/src/main/java/net/kuujo/copycat/log/package-info.java rename to log/src/main/java/net/kuujo/copycat/raft/log/package-info.java index 6834dd6818..01c1a8a38b 100644 --- a/log/src/main/java/net/kuujo/copycat/log/package-info.java +++ b/log/src/main/java/net/kuujo/copycat/raft/log/package-info.java @@ -18,7 +18,7 @@ * This package provides a standalone segmented log for Copycat's Raft implementation. *

* The log is designed as a standalone journal built on Copycat's {@link net.kuujo.copycat.io.Buffer} abstraction. - * The buffer abstraction allows Copycat's {@link net.kuujo.copycat.log.Log} to write to memory or disk based on the + * The buffer abstraction allows Copycat's {@link net.kuujo.copycat.raft.log.Log} to write to memory or disk based on the * buffer type. *

* While the log is not dependent on the Raft algorithm, it does implement many features in support of the Raft implementation. @@ -27,7 +27,7 @@ *

* The log achieves fast sequential writes by segmenting itself internally and compacting segments separately and * combining segments when necessary. Compaction works by iterating over a segment or segments, - * {@link net.kuujo.copycat.log.EntryFilter filtering} entries out of the segment, and rewriting the segment to a new + * {@link net.kuujo.copycat.raft.log.EntryFilter filtering} entries out of the segment, and rewriting the segment to a new * {@link net.kuujo.copycat.io.Buffer}. Compaction is done in two stages: major and minor. The minor compaction stage * relates to compacting a single segment. The log will prioritize minor compaction for more recent segments first. * Periodically, the log will execute a major compaction wherein all segments of the log are compacted together. This @@ -36,4 +36,4 @@ * * @author Jordan Halterman */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; diff --git a/log/src/test/java/net/kuujo/copycat/log/LogTest.java b/log/src/test/java/net/kuujo/copycat/raft/log/LogTest.java similarity index 99% rename from log/src/test/java/net/kuujo/copycat/log/LogTest.java rename to log/src/test/java/net/kuujo/copycat/raft/log/LogTest.java index c8107e9b74..87bff9b32a 100644 --- a/log/src/test/java/net/kuujo/copycat/log/LogTest.java +++ b/log/src/test/java/net/kuujo/copycat/raft/log/LogTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.serializer.Serializer; import net.kuujo.copycat.io.serializer.ServiceLoaderResolver; diff --git a/log/src/test/java/net/kuujo/copycat/log/MajorCompactionTest.java b/log/src/test/java/net/kuujo/copycat/raft/log/MajorCompactionTest.java similarity index 98% rename from log/src/test/java/net/kuujo/copycat/log/MajorCompactionTest.java rename to log/src/test/java/net/kuujo/copycat/raft/log/MajorCompactionTest.java index e9ce3a306e..44da4006c7 100644 --- a/log/src/test/java/net/kuujo/copycat/log/MajorCompactionTest.java +++ b/log/src/test/java/net/kuujo/copycat/raft/log/MajorCompactionTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.jodah.concurrentunit.ConcurrentTestCase; import net.kuujo.copycat.io.serializer.Serializer; diff --git a/log/src/test/java/net/kuujo/copycat/log/MinorCompactionTest.java b/log/src/test/java/net/kuujo/copycat/raft/log/MinorCompactionTest.java similarity index 98% rename from log/src/test/java/net/kuujo/copycat/log/MinorCompactionTest.java rename to log/src/test/java/net/kuujo/copycat/raft/log/MinorCompactionTest.java index 0e78cc726b..972c07372a 100644 --- a/log/src/test/java/net/kuujo/copycat/log/MinorCompactionTest.java +++ b/log/src/test/java/net/kuujo/copycat/raft/log/MinorCompactionTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.jodah.concurrentunit.ConcurrentTestCase; import net.kuujo.copycat.io.serializer.Serializer; diff --git a/log/src/test/java/net/kuujo/copycat/log/SearchableOffsetIndexTest.java b/log/src/test/java/net/kuujo/copycat/raft/log/SearchableOffsetIndexTest.java similarity index 96% rename from log/src/test/java/net/kuujo/copycat/log/SearchableOffsetIndexTest.java rename to log/src/test/java/net/kuujo/copycat/raft/log/SearchableOffsetIndexTest.java index 00fde9e3cf..1097c842f3 100644 --- a/log/src/test/java/net/kuujo/copycat/log/SearchableOffsetIndexTest.java +++ b/log/src/test/java/net/kuujo/copycat/raft/log/SearchableOffsetIndexTest.java @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.Buffer; import net.kuujo.copycat.io.HeapBuffer; +import net.kuujo.copycat.raft.log.SearchableOffsetIndex; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/log/src/test/java/net/kuujo/copycat/log/SegmentDescriptorTest.java b/log/src/test/java/net/kuujo/copycat/raft/log/SegmentDescriptorTest.java similarity index 97% rename from log/src/test/java/net/kuujo/copycat/log/SegmentDescriptorTest.java rename to log/src/test/java/net/kuujo/copycat/raft/log/SegmentDescriptorTest.java index f8f0a0f490..ed19e89345 100644 --- a/log/src/test/java/net/kuujo/copycat/log/SegmentDescriptorTest.java +++ b/log/src/test/java/net/kuujo/copycat/raft/log/SegmentDescriptorTest.java @@ -13,10 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.Buffer; import net.kuujo.copycat.io.HeapBuffer; +import net.kuujo.copycat.raft.log.SegmentDescriptor; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/log/src/test/java/net/kuujo/copycat/log/TestEntry.java b/log/src/test/java/net/kuujo/copycat/raft/log/TestEntry.java similarity index 98% rename from log/src/test/java/net/kuujo/copycat/log/TestEntry.java rename to log/src/test/java/net/kuujo/copycat/raft/log/TestEntry.java index cd238c2871..ec318ebcca 100644 --- a/log/src/test/java/net/kuujo/copycat/log/TestEntry.java +++ b/log/src/test/java/net/kuujo/copycat/raft/log/TestEntry.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.log; +package net.kuujo.copycat.raft.log; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; diff --git a/log/src/test/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable b/log/src/test/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable index 4b3c841206..a8b245548d 100644 --- a/log/src/test/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable +++ b/log/src/test/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. # -net.kuujo.copycat.log.TestEntry +net.kuujo.copycat.raft.log.TestEntry diff --git a/netty/src/main/java/net/kuujo/copycat/transport/ByteBufBuffer.java b/netty/src/main/java/net/kuujo/copycat/raft/transport/ByteBufBuffer.java similarity index 99% rename from netty/src/main/java/net/kuujo/copycat/transport/ByteBufBuffer.java rename to netty/src/main/java/net/kuujo/copycat/raft/transport/ByteBufBuffer.java index c767607fcf..30208789c2 100644 --- a/netty/src/main/java/net/kuujo/copycat/transport/ByteBufBuffer.java +++ b/netty/src/main/java/net/kuujo/copycat/raft/transport/ByteBufBuffer.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import io.netty.buffer.ByteBuf; import net.kuujo.copycat.io.Buffer; diff --git a/netty/src/main/java/net/kuujo/copycat/transport/NettyClient.java b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyClient.java similarity index 99% rename from netty/src/main/java/net/kuujo/copycat/transport/NettyClient.java rename to netty/src/main/java/net/kuujo/copycat/raft/transport/NettyClient.java index af6a892613..dac852f248 100644 --- a/netty/src/main/java/net/kuujo/copycat/transport/NettyClient.java +++ b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyClient.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import io.netty.bootstrap.Bootstrap; import io.netty.buffer.ByteBuf; diff --git a/netty/src/main/java/net/kuujo/copycat/transport/NettyConnection.java b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyConnection.java similarity index 99% rename from netty/src/main/java/net/kuujo/copycat/transport/NettyConnection.java rename to netty/src/main/java/net/kuujo/copycat/raft/transport/NettyConnection.java index 3c23fbaf67..77d598d42c 100644 --- a/netty/src/main/java/net/kuujo/copycat/transport/NettyConnection.java +++ b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyConnection.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; diff --git a/netty/src/main/java/net/kuujo/copycat/transport/NettyHandler.java b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyHandler.java similarity index 99% rename from netty/src/main/java/net/kuujo/copycat/transport/NettyHandler.java rename to netty/src/main/java/net/kuujo/copycat/raft/transport/NettyHandler.java index d4705e2287..fd6ba851aa 100644 --- a/netty/src/main/java/net/kuujo/copycat/transport/NettyHandler.java +++ b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyHandler.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; diff --git a/netty/src/main/java/net/kuujo/copycat/transport/NettyServer.java b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyServer.java similarity index 99% rename from netty/src/main/java/net/kuujo/copycat/transport/NettyServer.java rename to netty/src/main/java/net/kuujo/copycat/raft/transport/NettyServer.java index 5e98cb5409..af83442472 100644 --- a/netty/src/main/java/net/kuujo/copycat/transport/NettyServer.java +++ b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyServer.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import io.netty.bootstrap.ServerBootstrap; import io.netty.buffer.ByteBufAllocator; diff --git a/netty/src/main/java/net/kuujo/copycat/transport/NettyTransport.java b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyTransport.java similarity index 98% rename from netty/src/main/java/net/kuujo/copycat/transport/NettyTransport.java rename to netty/src/main/java/net/kuujo/copycat/raft/transport/NettyTransport.java index c783b3d5f4..5e7af5cebc 100644 --- a/netty/src/main/java/net/kuujo/copycat/transport/NettyTransport.java +++ b/netty/src/main/java/net/kuujo/copycat/raft/transport/NettyTransport.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import io.netty.channel.EventLoopGroup; import io.netty.channel.epoll.Epoll; diff --git a/netty/src/test/java/net/kuujo/copycat/transport/NettyTransportTest.java b/netty/src/test/java/net/kuujo/copycat/raft/transport/NettyTransportTest.java similarity index 91% rename from netty/src/test/java/net/kuujo/copycat/transport/NettyTransportTest.java rename to netty/src/test/java/net/kuujo/copycat/raft/transport/NettyTransportTest.java index 27f14549fe..935e4ed26b 100644 --- a/netty/src/test/java/net/kuujo/copycat/transport/NettyTransportTest.java +++ b/netty/src/test/java/net/kuujo/copycat/raft/transport/NettyTransportTest.java @@ -13,10 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.jodah.concurrentunit.ConcurrentTestCase; import net.kuujo.copycat.io.serializer.Serializer; +import net.kuujo.copycat.raft.transport.Client; +import net.kuujo.copycat.raft.transport.NettyTransport; +import net.kuujo.copycat.raft.transport.Server; +import net.kuujo.copycat.raft.transport.Transport; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.SingleThreadContext; import org.testng.annotations.Test; diff --git a/protocol/src/main/java/net/kuujo/copycat/ApplicationException.java b/protocol/src/main/java/net/kuujo/copycat/raft/ApplicationException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/ApplicationException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/ApplicationException.java index 1299fa7628..f8131a12a7 100644 --- a/protocol/src/main/java/net/kuujo/copycat/ApplicationException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/ApplicationException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * User application exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/Command.java b/protocol/src/main/java/net/kuujo/copycat/raft/Command.java similarity index 95% rename from protocol/src/main/java/net/kuujo/copycat/Command.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Command.java index 6a7e06d116..d1bc7903b9 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Command.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Command.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; + +import net.kuujo.copycat.BuilderPool; /** * Raft state commands modify system state. diff --git a/protocol/src/main/java/net/kuujo/copycat/ConsistencyLevel.java b/protocol/src/main/java/net/kuujo/copycat/raft/ConsistencyLevel.java similarity index 99% rename from protocol/src/main/java/net/kuujo/copycat/ConsistencyLevel.java rename to protocol/src/main/java/net/kuujo/copycat/raft/ConsistencyLevel.java index c117348fda..8b05626a21 100644 --- a/protocol/src/main/java/net/kuujo/copycat/ConsistencyLevel.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/ConsistencyLevel.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Constants for specifying Raft {@link Query} consistency levels. diff --git a/protocol/src/main/java/net/kuujo/copycat/IllegalMemberStateException.java b/protocol/src/main/java/net/kuujo/copycat/raft/IllegalMemberStateException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/IllegalMemberStateException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/IllegalMemberStateException.java index ea786fabc7..29c884e753 100644 --- a/protocol/src/main/java/net/kuujo/copycat/IllegalMemberStateException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/IllegalMemberStateException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Illegal member state exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/InternalException.java b/protocol/src/main/java/net/kuujo/copycat/raft/InternalException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/InternalException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/InternalException.java index 39a10d438b..f9bebbe9bd 100644 --- a/protocol/src/main/java/net/kuujo/copycat/InternalException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/InternalException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Internal exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/Member.java b/protocol/src/main/java/net/kuujo/copycat/raft/Member.java similarity index 99% rename from protocol/src/main/java/net/kuujo/copycat/Member.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Member.java index 9a1feecb61..22d6b019df 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Member.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Member.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; diff --git a/protocol/src/main/java/net/kuujo/copycat/Members.java b/protocol/src/main/java/net/kuujo/copycat/raft/Members.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/Members.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Members.java index caac7a4c63..6a1be113cf 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Members.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Members.java @@ -13,8 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; +import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/protocol/src/main/java/net/kuujo/copycat/NoLeaderException.java b/protocol/src/main/java/net/kuujo/copycat/raft/NoLeaderException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/NoLeaderException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/NoLeaderException.java index b94d363f44..036b85e9a0 100644 --- a/protocol/src/main/java/net/kuujo/copycat/NoLeaderException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/NoLeaderException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Not leader exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/Operation.java b/protocol/src/main/java/net/kuujo/copycat/raft/Operation.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/Operation.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Operation.java index d3e3175cba..9fe4293cb6 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Operation.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Operation.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; + +import net.kuujo.copycat.BuilderPool; import java.io.Serializable; import java.util.Map; diff --git a/protocol/src/main/java/net/kuujo/copycat/Query.java b/protocol/src/main/java/net/kuujo/copycat/raft/Query.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/Query.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Query.java index b647f4930d..cb633a1a16 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Query.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Query.java @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; + +import net.kuujo.copycat.BuilderPool; /** * Raft state queries read system state. diff --git a/protocol/src/main/java/net/kuujo/copycat/Raft.java b/protocol/src/main/java/net/kuujo/copycat/raft/Raft.java similarity index 96% rename from protocol/src/main/java/net/kuujo/copycat/Raft.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Raft.java index 155573a873..29ff9b3393 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Raft.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Raft.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; -import net.kuujo.copycat.transport.Transport; +import net.kuujo.copycat.raft.transport.Transport; import net.kuujo.copycat.util.concurrent.Context; import java.util.Arrays; @@ -97,7 +97,7 @@ default CompletableFuture submit(Operation operation) { * Submits a command to the Raft protocol. *

* Commands are used to alter state machine state. All commands will be forwarded to the current Raft leader. - * Once a leader receives the command, it will write the command to its internal {@link net.kuujo.copycat.log.Log} and + * Once a leader receives the command, it will write the command to its internal {@link net.kuujo.copycat.raft.log.Log} and * replicate it to a majority of the cluster. Once the command has been replicated to a majority of the cluster, it * will apply the command to its state machine and respond with the result. *

@@ -145,7 +145,7 @@ static abstract class Builder, U extends Raft> extends n /** * Sets the network transport. *

- * The provided {@link net.kuujo.copycat.transport.Transport} will be used to connect to provided + * The provided {@link net.kuujo.copycat.raft.transport.Transport} will be used to connect to provided * {@link Members} to join the cluster at startup and participate in all aspects of the Raft * consensus protocol. * diff --git a/protocol/src/main/java/net/kuujo/copycat/RaftError.java b/protocol/src/main/java/net/kuujo/copycat/raft/RaftError.java similarity index 99% rename from protocol/src/main/java/net/kuujo/copycat/RaftError.java rename to protocol/src/main/java/net/kuujo/copycat/raft/RaftError.java index e2c3db8b5a..d43b4f7fb1 100644 --- a/protocol/src/main/java/net/kuujo/copycat/RaftError.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/RaftError.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Base type for Raft server errors. diff --git a/protocol/src/main/java/net/kuujo/copycat/RaftException.java b/protocol/src/main/java/net/kuujo/copycat/raft/RaftException.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/RaftException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/RaftException.java index 14db2e7ea8..d15e92288b 100644 --- a/protocol/src/main/java/net/kuujo/copycat/RaftException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/RaftException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Base Raft exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/ReadException.java b/protocol/src/main/java/net/kuujo/copycat/raft/ReadException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/ReadException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/ReadException.java index 3c5e33bd5c..c157e799ae 100644 --- a/protocol/src/main/java/net/kuujo/copycat/ReadException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/ReadException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Read exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/Session.java b/protocol/src/main/java/net/kuujo/copycat/raft/Session.java similarity index 96% rename from protocol/src/main/java/net/kuujo/copycat/Session.java rename to protocol/src/main/java/net/kuujo/copycat/raft/Session.java index f6233757c7..5b522c714a 100644 --- a/protocol/src/main/java/net/kuujo/copycat/Session.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/Session.java @@ -13,7 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; + +import net.kuujo.copycat.Listener; +import net.kuujo.copycat.ListenerContext; import java.util.UUID; import java.util.concurrent.CompletableFuture; diff --git a/protocol/src/main/java/net/kuujo/copycat/UnknownSessionException.java b/protocol/src/main/java/net/kuujo/copycat/raft/UnknownSessionException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/UnknownSessionException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/UnknownSessionException.java index d1ba598b53..5f5cd3e69f 100644 --- a/protocol/src/main/java/net/kuujo/copycat/UnknownSessionException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/UnknownSessionException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Unknown session exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/WriteException.java b/protocol/src/main/java/net/kuujo/copycat/raft/WriteException.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/WriteException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/WriteException.java index a6713b6aa7..5766cffa23 100644 --- a/protocol/src/main/java/net/kuujo/copycat/WriteException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/WriteException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; /** * Write exception. diff --git a/protocol/src/main/java/net/kuujo/copycat/package-info.java b/protocol/src/main/java/net/kuujo/copycat/raft/package-info.java similarity index 96% rename from protocol/src/main/java/net/kuujo/copycat/package-info.java rename to protocol/src/main/java/net/kuujo/copycat/raft/package-info.java index 0b2a842f3a..7c6f9f44a6 100644 --- a/protocol/src/main/java/net/kuujo/copycat/package-info.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/package-info.java @@ -21,4 +21,4 @@ * * @author Jordan Halterman */ -package net.kuujo.copycat; +package net.kuujo.copycat.raft; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/AbstractRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AbstractRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/AbstractRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/AbstractRequest.java index 67ae975940..bafe5b215c 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/AbstractRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AbstractRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.util.ReferenceFactory; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/AbstractResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AbstractResponse.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/AbstractResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/AbstractResponse.java index aaa07f06d7..36bf89e3e1 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/AbstractResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AbstractResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.util.ReferenceFactory; import net.kuujo.copycat.util.ReferenceManager; import net.kuujo.copycat.util.ReferencePool; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/AppendRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AppendRequest.java similarity index 99% rename from protocol/src/main/java/net/kuujo/copycat/protocol/AppendRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/AppendRequest.java index b6c3914086..547dcf83d2 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/AppendRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AppendRequest.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; import java.util.ArrayList; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/AppendResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AppendResponse.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/AppendResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/AppendResponse.java index cea11640bb..149f698e26 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/AppendResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/AppendResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/ClientRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/ClientRequest.java similarity index 96% rename from protocol/src/main/java/net/kuujo/copycat/protocol/ClientRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/ClientRequest.java index 52cad47b8c..90744f1570 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/ClientRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/ClientRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.util.ReferenceFactory; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/ClientResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/ClientResponse.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/ClientResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/ClientResponse.java index c1fa81538b..d092078592 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/ClientResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/ClientResponse.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.util.ReferenceFactory; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/CommandRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/CommandRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/CommandRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/CommandRequest.java index a49e168d87..bf18ba0b40 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/CommandRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/CommandRequest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Command; +import net.kuujo.copycat.raft.Command; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/CommandResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/CommandResponse.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/CommandResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/CommandResponse.java index 4169947eb4..401d09f409 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/CommandResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/CommandResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/JoinRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/JoinRequest.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/JoinRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/JoinRequest.java index f58ec272a2..30c95d3d6b 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/JoinRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/JoinRequest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Member; +import net.kuujo.copycat.raft.Member; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/JoinResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/JoinResponse.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/JoinResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/JoinResponse.java index 51e5efcb60..cbddd0eabd 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/JoinResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/JoinResponse.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/KeepAliveRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/KeepAliveRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/KeepAliveRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/KeepAliveRequest.java index c87d3b2b91..d455da2ba3 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/KeepAliveRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/KeepAliveRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/KeepAliveResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/KeepAliveResponse.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/KeepAliveResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/KeepAliveResponse.java index b0ceeeb973..62c36e0e7d 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/KeepAliveResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/KeepAliveResponse.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/LeaveRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/LeaveRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/LeaveRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/LeaveRequest.java index 4335347b82..8e762cbbaa 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/LeaveRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/LeaveRequest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Member; +import net.kuujo.copycat.raft.Member; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/LeaveResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/LeaveResponse.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/LeaveResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/LeaveResponse.java index 7a2d14beea..db3ce58eba 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/LeaveResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/LeaveResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/PollRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PollRequest.java similarity index 99% rename from protocol/src/main/java/net/kuujo/copycat/protocol/PollRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/PollRequest.java index 47aae2e9b0..988fe23073 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/PollRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PollRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/PollResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PollResponse.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/PollResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/PollResponse.java index 4c799bb407..b91bcd8729 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/PollResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PollResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/ProtocolException.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/ProtocolException.java similarity index 96% rename from protocol/src/main/java/net/kuujo/copycat/protocol/ProtocolException.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/ProtocolException.java index ca0ab4056c..644e98b044 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/ProtocolException.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/ProtocolException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.CopycatException; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/PublishRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PublishRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/PublishRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/PublishRequest.java index 718c7be3c7..821d0f441f 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/PublishRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PublishRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/PublishResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PublishResponse.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/PublishResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/PublishResponse.java index adeb5e3d1b..eb754abf4a 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/PublishResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/PublishResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/QueryRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/QueryRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/QueryRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/QueryRequest.java index 8c54c6a392..360b03d5ef 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/QueryRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/QueryRequest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Query; +import net.kuujo.copycat.raft.Query; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/QueryResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/QueryResponse.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/QueryResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/QueryResponse.java index 22c264baa4..95f3b54274 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/QueryResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/QueryResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/RegisterRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/RegisterRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/RegisterRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/RegisterRequest.java index 04a0462273..4800f48eb4 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/RegisterRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/RegisterRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/RegisterResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/RegisterResponse.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/RegisterResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/RegisterResponse.java index e260f60441..064f9a99c9 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/RegisterResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/RegisterResponse.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.Members; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.Members; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/Request.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/Request.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/Request.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/Request.java index 2a45b16abf..be4dd86e74 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/Request.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/Request.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.serializer.CopycatSerializable; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/Response.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/Response.java similarity index 97% rename from protocol/src/main/java/net/kuujo/copycat/protocol/Response.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/Response.java index 5122dc100c..44628eb6ca 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/Response.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/Response.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.serializer.CopycatSerializable; import net.kuujo.copycat.util.ReferenceCounted; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/SessionRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/SessionRequest.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/SessionRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/SessionRequest.java index 2ffac0aa00..7c21d9f235 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/SessionRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/SessionRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/VoteRequest.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/VoteRequest.java similarity index 99% rename from protocol/src/main/java/net/kuujo/copycat/protocol/VoteRequest.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/VoteRequest.java index a249174090..f1b17e1a02 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/VoteRequest.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/VoteRequest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; import net.kuujo.copycat.io.BufferInput; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/VoteResponse.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/VoteResponse.java similarity index 98% rename from protocol/src/main/java/net/kuujo/copycat/protocol/VoteResponse.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/VoteResponse.java index da7897ea1f..b0cdfd42d9 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/VoteResponse.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/VoteResponse.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; import net.kuujo.copycat.BuilderPool; -import net.kuujo.copycat.RaftError; +import net.kuujo.copycat.raft.RaftError; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; diff --git a/protocol/src/main/java/net/kuujo/copycat/protocol/package-info.java b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/package-info.java similarity index 79% rename from protocol/src/main/java/net/kuujo/copycat/protocol/package-info.java rename to protocol/src/main/java/net/kuujo/copycat/raft/protocol/package-info.java index 3c9048eb74..07d589ff17 100644 --- a/protocol/src/main/java/net/kuujo/copycat/protocol/package-info.java +++ b/protocol/src/main/java/net/kuujo/copycat/raft/protocol/package-info.java @@ -17,15 +17,15 @@ /** * The protocol layer provides a set of interfaces for communicating between Raft clients and servers in a Raft cluster. *

- * At the core of the protocol layer are the {@link net.kuujo.copycat.protocol.Request} and - * {@link net.kuujo.copycat.protocol.Response} interfaces. The protocol provides for all of the internal and + * At the core of the protocol layer are the {@link net.kuujo.copycat.raft.protocol.Request} and + * {@link net.kuujo.copycat.raft.protocol.Response} interfaces. The protocol provides for all of the internal and * client-facing request types necessary to participate in consensus via the Raft consensus protocol. *

- * All {@link net.kuujo.copycat.protocol.Request} and {@link net.kuujo.copycat.protocol.Response} objects are + * All {@link net.kuujo.copycat.raft.protocol.Request} and {@link net.kuujo.copycat.raft.protocol.Response} objects are * {@link net.kuujo.copycat.io.serializer.CopycatSerializable} and {@link net.kuujo.copycat.util.ReferenceCounted}. This reduces * garbage by allowing {@link net.kuujo.copycat.io.serializer.Serializer} to pool requests and responses during deserialization. *

- * All {@link net.kuujo.copycat.protocol.Request}s and {@link net.kuujo.copycat.protocol.Response}s provide + * All {@link net.kuujo.copycat.raft.protocol.Request}s and {@link net.kuujo.copycat.raft.protocol.Response}s provide * a custom {@link net.kuujo.copycat.Builder} implementation specific to each request's or response's attributes. Builders * can be created by calling the static {@code builder()} method on a given {@code Request} or {@code Response} implementation. * Builders are thread local and are not thread safe. All builders assume that they will be completed via @@ -33,4 +33,4 @@ * * @author Jordan Halterman */ -package net.kuujo.copycat.protocol; +package net.kuujo.copycat.raft.protocol; diff --git a/protocol/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable b/protocol/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable index 7bde48e165..b75ffd81e4 100644 --- a/protocol/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable +++ b/protocol/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable @@ -13,26 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. # -net.kuujo.copycat.Member -net.kuujo.copycat.Members +net.kuujo.copycat.raft.Member +net.kuujo.copycat.raft.Members -net.kuujo.copycat.protocol.AppendRequest -net.kuujo.copycat.protocol.AppendResponse -net.kuujo.copycat.protocol.CommandRequest -net.kuujo.copycat.protocol.CommandResponse -net.kuujo.copycat.protocol.JoinRequest -net.kuujo.copycat.protocol.JoinResponse -net.kuujo.copycat.protocol.KeepAliveRequest -net.kuujo.copycat.protocol.KeepAliveResponse -net.kuujo.copycat.protocol.LeaveRequest -net.kuujo.copycat.protocol.LeaveResponse -net.kuujo.copycat.protocol.PollRequest -net.kuujo.copycat.protocol.PollResponse -net.kuujo.copycat.protocol.PublishRequest -net.kuujo.copycat.protocol.PublishResponse -net.kuujo.copycat.protocol.QueryRequest -net.kuujo.copycat.protocol.QueryResponse -net.kuujo.copycat.protocol.RegisterRequest -net.kuujo.copycat.protocol.RegisterResponse -net.kuujo.copycat.protocol.VoteRequest -net.kuujo.copycat.protocol.VoteResponse +net.kuujo.copycat.raft.protocol.AppendRequest +net.kuujo.copycat.raft.protocol.AppendResponse +net.kuujo.copycat.raft.protocol.CommandRequest +net.kuujo.copycat.raft.protocol.CommandResponse +net.kuujo.copycat.raft.protocol.JoinRequest +net.kuujo.copycat.raft.protocol.JoinResponse +net.kuujo.copycat.raft.protocol.KeepAliveRequest +net.kuujo.copycat.raft.protocol.KeepAliveResponse +net.kuujo.copycat.raft.protocol.LeaveRequest +net.kuujo.copycat.raft.protocol.LeaveResponse +net.kuujo.copycat.raft.protocol.PollRequest +net.kuujo.copycat.raft.protocol.PollResponse +net.kuujo.copycat.raft.protocol.PublishRequest +net.kuujo.copycat.raft.protocol.PublishResponse +net.kuujo.copycat.raft.protocol.QueryRequest +net.kuujo.copycat.raft.protocol.QueryResponse +net.kuujo.copycat.raft.protocol.RegisterRequest +net.kuujo.copycat.raft.protocol.RegisterResponse +net.kuujo.copycat.raft.protocol.VoteRequest +net.kuujo.copycat.raft.protocol.VoteResponse diff --git a/server/src/main/java/net/kuujo/copycat/server/Apply.java b/server/src/main/java/net/kuujo/copycat/raft/server/Apply.java similarity index 95% rename from server/src/main/java/net/kuujo/copycat/server/Apply.java rename to server/src/main/java/net/kuujo/copycat/raft/server/Apply.java index 04635e290d..951d1a67aa 100644 --- a/server/src/main/java/net/kuujo/copycat/server/Apply.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/Apply.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; -import net.kuujo.copycat.Operation; +import net.kuujo.copycat.raft.Operation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/server/src/main/java/net/kuujo/copycat/server/Commit.java b/server/src/main/java/net/kuujo/copycat/raft/server/Commit.java similarity index 83% rename from server/src/main/java/net/kuujo/copycat/server/Commit.java rename to server/src/main/java/net/kuujo/copycat/raft/server/Commit.java index 50faafe503..faf12519d7 100644 --- a/server/src/main/java/net/kuujo/copycat/server/Commit.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/Commit.java @@ -13,20 +13,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Session; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Session; /** * Represents the committed state and metadata of a Raft state machine operation. *

* This class is used by the {@link RaftServer} internally to expose committed - * {@link net.kuujo.copycat.Command commands} and {@link net.kuujo.copycat.Query queries} to the user provided + * {@link net.kuujo.copycat.raft.Command commands} and {@link net.kuujo.copycat.raft.Query queries} to the user provided * {@link StateMachine}. Operations that are wrapped in a {@link Commit} * object are guaranteed to be persisted in the Raft log on a majority of the cluster. The commit object provides metadata * about the committed operation such as the {@link #index()} at which the operation was written in the log, the - * {@link #timestamp()} at which it was written, and the {@link net.kuujo.copycat.Session} that submitted the + * {@link #timestamp()} at which it was written, and the {@link net.kuujo.copycat.raft.Session} that submitted the * operation. * * @author Jordan Halterman @@ -47,11 +47,11 @@ public Commit(long index, Session session, long timestamp, T operation) { /** * Returns the commit index. *

- * This is the index at which the committed {@link net.kuujo.copycat.Operation} was written in the Raft log. + * This is the index at which the committed {@link net.kuujo.copycat.raft.Operation} was written in the Raft log. * Copycat guarantees that this index will be the same for all instances of the given operation on all nodes in the * cluster. *

- * Note that for {@link net.kuujo.copycat.Query} operations, the returned {@code index} may actually represent + * Note that for {@link net.kuujo.copycat.raft.Query} operations, the returned {@code index} may actually represent * the last committed index in the Raft log since queries are not actually written to disk. This, however, does not * break the single index guarantee since queries will only be applied to the leader's {@link StateMachine}. * @@ -64,12 +64,12 @@ public long index() { /** * Returns the session that submitted the operation. *

- * The returned {@link net.kuujo.copycat.Session} is representative of the session that submitted the operation + * The returned {@link net.kuujo.copycat.raft.Session} is representative of the session that submitted the operation * that resulted in this {@link Commit}. Note that the session will be provided regardless * of whether the session is currently active in the cluster. However, attempts to {@link Session#publish(Object)} to * inactive sessions will fail silently. *

- * Additionally, because clients only connect to one server at any given time, the {@link net.kuujo.copycat.Session} + * Additionally, because clients only connect to one server at any given time, the {@link net.kuujo.copycat.raft.Session} * provided in any given commit to any {@link StateMachine} may or may not be capable of * communicating with the client. * @@ -110,8 +110,8 @@ public Class type() { /** * Returns the operation submitted by the user. *

- * The returned {@link net.kuujo.copycat.Operation} is the operation submitted by the user via - * {@link net.kuujo.copycat.Raft#submit(net.kuujo.copycat.Operation)}. + * The returned {@link net.kuujo.copycat.raft.Operation} is the operation submitted by the user via + * {@link net.kuujo.copycat.raft.Raft#submit(net.kuujo.copycat.raft.Operation)}. * * @return The operation submitted by the user. */ diff --git a/server/src/main/java/net/kuujo/copycat/server/Filter.java b/server/src/main/java/net/kuujo/copycat/raft/server/Filter.java similarity index 87% rename from server/src/main/java/net/kuujo/copycat/server/Filter.java rename to server/src/main/java/net/kuujo/copycat/raft/server/Filter.java index 7584be60ed..014152060e 100644 --- a/server/src/main/java/net/kuujo/copycat/server/Filter.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/Filter.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.Command; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.Command; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -27,7 +27,7 @@ * Annotation for filtering committed operations out of the Raft log. *

* This annotation should be used to identify {@link StateMachine} methods for filtering - * {@link net.kuujo.copycat.log.Entry entries} out of the Raft {@link net.kuujo.copycat.log.Log}. Once an entry has been + * {@link net.kuujo.copycat.raft.log.Entry entries} out of the Raft {@link net.kuujo.copycat.raft.log.Log}. Once an entry has been * committed to the log, the entry becomes available for log compaction. The Raft log will periodically compact itself * by consulting the state machine implementation on which entries can be removed from the log. Methods annotated with * this annotation should return a boolean value indicating whether the provided {@link Commit} diff --git a/server/src/main/java/net/kuujo/copycat/server/RaftConfig.java b/server/src/main/java/net/kuujo/copycat/raft/server/RaftConfig.java similarity index 99% rename from server/src/main/java/net/kuujo/copycat/server/RaftConfig.java rename to server/src/main/java/net/kuujo/copycat/raft/server/RaftConfig.java index 8671b9571b..622407331c 100644 --- a/server/src/main/java/net/kuujo/copycat/server/RaftConfig.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/RaftConfig.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; import java.util.concurrent.TimeUnit; diff --git a/server/src/main/java/net/kuujo/copycat/server/RaftServer.java b/server/src/main/java/net/kuujo/copycat/raft/server/RaftServer.java similarity index 98% rename from server/src/main/java/net/kuujo/copycat/server/RaftServer.java rename to server/src/main/java/net/kuujo/copycat/raft/server/RaftServer.java index 16ab0156b2..9e66ed4972 100644 --- a/server/src/main/java/net/kuujo/copycat/server/RaftServer.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/RaftServer.java @@ -13,14 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; import net.kuujo.copycat.*; import net.kuujo.copycat.io.serializer.Serializer; import net.kuujo.copycat.io.serializer.ServiceLoaderResolver; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.server.state.ServerContext; -import net.kuujo.copycat.transport.Transport; +import net.kuujo.copycat.raft.*; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.server.state.ServerContext; +import net.kuujo.copycat.raft.transport.Transport; import net.kuujo.copycat.util.Managed; import net.kuujo.copycat.util.concurrent.Context; diff --git a/server/src/main/java/net/kuujo/copycat/server/StateMachine.java b/server/src/main/java/net/kuujo/copycat/raft/server/StateMachine.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/StateMachine.java rename to server/src/main/java/net/kuujo/copycat/raft/server/StateMachine.java index c1161e2319..c5e5025c06 100644 --- a/server/src/main/java/net/kuujo/copycat/server/StateMachine.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/StateMachine.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; import net.kuujo.copycat.ConfigurationException; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.ApplicationException; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.Operation; -import net.kuujo.copycat.Session; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.ApplicationException; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.Operation; +import net.kuujo.copycat.raft.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,13 +37,13 @@ *

* Users should extend this class to create a state machine for use within a {@link RaftServer}. *

- * State machines are responsible for handling {@link net.kuujo.copycat.Operation operations} submitted to the Raft + * State machines are responsible for handling {@link net.kuujo.copycat.raft.Operation operations} submitted to the Raft * cluster and filtering {@link Commit committed} operations out of the Raft log. The most * important rule of state machines is that state machines must be deterministic in order to maintain Copycat's * consistency guarantees. That is, state machines must not change their behavior based on external influences and have * no side effects. Users should never use {@code System} time to control behavior within a state machine. *

- * When {@link net.kuujo.copycat.Command commands} and {@link net.kuujo.copycat.Query queries} are submitted + * When {@link net.kuujo.copycat.raft.Command commands} and {@link net.kuujo.copycat.raft.Query queries} are submitted * to the Raft cluster, the {@link RaftServer} will log and replicate them as necessary * and, once complete, apply them to the configured state machine. *

@@ -64,7 +64,7 @@ * Operations are applied to {@link Apply} annotated methods wrapped in a * {@link Commit} object. The {@code Commit} object contains information about how the * operation was committed including the {@link Commit#index()} at which it was logged in the Raft log, the - * {@link Commit#timestamp()} at which it was logged, and the {@link net.kuujo.copycat.Session} + * {@link Commit#timestamp()} at which it was logged, and the {@link net.kuujo.copycat.raft.Session} * that created the commit. *

* Operation methods can return either a synchronous result or an asynchronous result via {@link java.util.concurrent.CompletableFuture}. diff --git a/server/src/main/java/net/kuujo/copycat/server/log/CommandEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/CommandEntry.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/log/CommandEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/CommandEntry.java index e41829fe1a..18cf0cf10f 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/CommandEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/CommandEntry.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; -import net.kuujo.copycat.Command; +import net.kuujo.copycat.raft.Command; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/ConfigurationEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/ConfigurationEntry.java similarity index 95% rename from server/src/main/java/net/kuujo/copycat/server/log/ConfigurationEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/ConfigurationEntry.java index e8a85e20e2..100d944f2a 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/ConfigurationEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/ConfigurationEntry.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; -import net.kuujo.copycat.Members; +import net.kuujo.copycat.raft.Members; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/KeepAliveEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/KeepAliveEntry.java similarity index 93% rename from server/src/main/java/net/kuujo/copycat/server/log/KeepAliveEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/KeepAliveEntry.java index 62e0470967..0f8ad61dd9 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/KeepAliveEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/KeepAliveEntry.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; import net.kuujo.copycat.io.serializer.SerializeWith; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/NoOpEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/NoOpEntry.java similarity index 93% rename from server/src/main/java/net/kuujo/copycat/server/log/NoOpEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/NoOpEntry.java index 8aea965015..2928f92c40 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/NoOpEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/NoOpEntry.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; import net.kuujo.copycat.io.serializer.SerializeWith; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/OperationEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/OperationEntry.java similarity index 92% rename from server/src/main/java/net/kuujo/copycat/server/log/OperationEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/OperationEntry.java index 14478667ed..c4fc6cff71 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/OperationEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/OperationEntry.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/QueryEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/QueryEntry.java similarity index 95% rename from server/src/main/java/net/kuujo/copycat/server/log/QueryEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/QueryEntry.java index 31cc679194..59e4e5d653 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/QueryEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/QueryEntry.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; -import net.kuujo.copycat.Query; +import net.kuujo.copycat.raft.Query; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/RaftEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/RaftEntry.java similarity index 93% rename from server/src/main/java/net/kuujo/copycat/server/log/RaftEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/RaftEntry.java index 96071258b5..dff968e256 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/RaftEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/RaftEntry.java @@ -1,9 +1,9 @@ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/RegisterEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/RegisterEntry.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/log/RegisterEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/RegisterEntry.java index a5b5b761c3..c70bda2dd6 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/RegisterEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/RegisterEntry.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.SerializeWith; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; import java.util.UUID; diff --git a/server/src/main/java/net/kuujo/copycat/server/log/SessionEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/SessionEntry.java similarity index 95% rename from server/src/main/java/net/kuujo/copycat/server/log/SessionEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/SessionEntry.java index 9031a102cc..9a22888447 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/SessionEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/SessionEntry.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/log/TimestampedEntry.java b/server/src/main/java/net/kuujo/copycat/raft/server/log/TimestampedEntry.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/log/TimestampedEntry.java rename to server/src/main/java/net/kuujo/copycat/raft/server/log/TimestampedEntry.java index ac45c2be4e..4ef4997421 100644 --- a/server/src/main/java/net/kuujo/copycat/server/log/TimestampedEntry.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/log/TimestampedEntry.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.log; +package net.kuujo.copycat.raft.server.log; import net.kuujo.copycat.io.BufferInput; import net.kuujo.copycat.io.BufferOutput; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Entry; +import net.kuujo.copycat.raft.log.Entry; import net.kuujo.copycat.util.ReferenceManager; /** diff --git a/server/src/main/java/net/kuujo/copycat/server/package-info.java b/server/src/main/java/net/kuujo/copycat/raft/server/package-info.java similarity index 95% rename from server/src/main/java/net/kuujo/copycat/server/package-info.java rename to server/src/main/java/net/kuujo/copycat/raft/server/package-info.java index cedc3e3e15..555c3e50cc 100644 --- a/server/src/main/java/net/kuujo/copycat/server/package-info.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/package-info.java @@ -19,4 +19,4 @@ * * @author Jordan Halterman */ -package net.kuujo.copycat.server; +package net.kuujo.copycat.raft.server; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/AbstractState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/AbstractState.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/state/AbstractState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/AbstractState.java index 424b192ca7..1edff3da7c 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/AbstractState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/AbstractState.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; import net.kuujo.copycat.util.Managed; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/ActiveState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/ActiveState.java similarity index 97% rename from server/src/main/java/net/kuujo/copycat/server/state/ActiveState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/ActiveState.java index 2a1c1de5e9..fefb2b342d 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/ActiveState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/ActiveState.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.RaftError; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.server.log.QueryEntry; -import net.kuujo.copycat.server.log.RaftEntry; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.RaftError; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.server.log.QueryEntry; +import net.kuujo.copycat.raft.server.log.RaftEntry; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/CandidateState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/CandidateState.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/state/CandidateState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/CandidateState.java index b3d858ca03..f88e570322 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/CandidateState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/CandidateState.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.server.log.RaftEntry; -import net.kuujo.copycat.server.util.Quorum; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.server.log.RaftEntry; +import net.kuujo.copycat.raft.server.util.Quorum; import java.util.HashSet; import java.util.Random; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/ClusterState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/ClusterState.java similarity index 98% rename from server/src/main/java/net/kuujo/copycat/server/state/ClusterState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/ClusterState.java index db42bb11cf..7600446771 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/ClusterState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/ClusterState.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.Members; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.Members; import java.util.*; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/ConnectionManager.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/ConnectionManager.java similarity index 93% rename from server/src/main/java/net/kuujo/copycat/server/state/ConnectionManager.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/ConnectionManager.java index bb38f09ace..c86b526b3e 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/ConnectionManager.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/ConnectionManager.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.transport.Client; -import net.kuujo.copycat.transport.Connection; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.transport.Client; +import net.kuujo.copycat.raft.transport.Connection; import net.kuujo.copycat.util.concurrent.Futures; import java.net.InetAddress; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/FollowerState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/FollowerState.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/state/FollowerState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/FollowerState.java index 55a0d63ad2..f044c9986b 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/FollowerState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/FollowerState.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.RaftError; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.server.log.RaftEntry; -import net.kuujo.copycat.server.util.Quorum; +import net.kuujo.copycat.raft.RaftError; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.server.log.RaftEntry; +import net.kuujo.copycat.raft.server.util.Quorum; import java.util.HashSet; import java.util.Random; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/InactiveState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/InactiveState.java similarity index 95% rename from server/src/main/java/net/kuujo/copycat/server/state/InactiveState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/InactiveState.java index 7a1d0a6f20..9c1f417659 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/InactiveState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/InactiveState.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; import net.kuujo.copycat.util.concurrent.Futures; import java.util.concurrent.CompletableFuture; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/JoinState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/JoinState.java similarity index 93% rename from server/src/main/java/net/kuujo/copycat/server/state/JoinState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/JoinState.java index 2f01253ad9..ac6fd6da67 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/JoinState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/JoinState.java @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.protocol.JoinRequest; -import net.kuujo.copycat.protocol.JoinResponse; -import net.kuujo.copycat.protocol.Response; -import net.kuujo.copycat.server.RaftServer; +import net.kuujo.copycat.raft.protocol.JoinRequest; +import net.kuujo.copycat.raft.protocol.JoinResponse; +import net.kuujo.copycat.raft.protocol.Response; +import net.kuujo.copycat.raft.server.RaftServer; import java.util.Iterator; import java.util.concurrent.CompletableFuture; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/LeaderState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/LeaderState.java similarity index 99% rename from server/src/main/java/net/kuujo/copycat/server/state/LeaderState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/LeaderState.java index 51b1932346..d512b43680 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/LeaderState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/LeaderState.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.*; -import net.kuujo.copycat.log.Entry; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.server.log.*; +import net.kuujo.copycat.raft.*; +import net.kuujo.copycat.raft.log.Entry; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.server.log.*; import java.util.*; import java.util.concurrent.CompletableFuture; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/LeaveState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/LeaveState.java similarity index 93% rename from server/src/main/java/net/kuujo/copycat/server/state/LeaveState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/LeaveState.java index 66947f0a80..658311743a 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/LeaveState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/LeaveState.java @@ -13,13 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.Member; -import net.kuujo.copycat.protocol.LeaveRequest; -import net.kuujo.copycat.protocol.LeaveResponse; -import net.kuujo.copycat.protocol.Response; -import net.kuujo.copycat.server.RaftServer; +import net.kuujo.copycat.raft.Member; +import net.kuujo.copycat.raft.protocol.LeaveRequest; +import net.kuujo.copycat.raft.protocol.LeaveResponse; +import net.kuujo.copycat.raft.protocol.Response; +import net.kuujo.copycat.raft.server.RaftServer; import java.util.Iterator; import java.util.concurrent.CompletableFuture; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/MemberState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/MemberState.java similarity index 96% rename from server/src/main/java/net/kuujo/copycat/server/state/MemberState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/MemberState.java index 808220f866..076a586624 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/MemberState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/MemberState.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.Member; +import net.kuujo.copycat.raft.Member; /** * Cluster member state. diff --git a/server/src/main/java/net/kuujo/copycat/server/state/PassiveState.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/PassiveState.java similarity index 97% rename from server/src/main/java/net/kuujo/copycat/server/state/PassiveState.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/PassiveState.java index e3a065a05f..1eb685f56f 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/PassiveState.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/PassiveState.java @@ -13,14 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; - -import net.kuujo.copycat.log.Entry; -import net.kuujo.copycat.RaftError; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.server.log.ConfigurationEntry; -import net.kuujo.copycat.server.log.RaftEntry; +package net.kuujo.copycat.raft.server.state; + +import net.kuujo.copycat.raft.log.Entry; +import net.kuujo.copycat.raft.RaftError; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.server.log.ConfigurationEntry; +import net.kuujo.copycat.raft.server.log.RaftEntry; import java.util.Random; import java.util.concurrent.CompletableFuture; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/ServerContext.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/ServerContext.java similarity index 97% rename from server/src/main/java/net/kuujo/copycat/server/state/ServerContext.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/ServerContext.java index 49edce18c6..c9ef611dc8 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/ServerContext.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/ServerContext.java @@ -13,23 +13,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; import net.kuujo.copycat.*; -import net.kuujo.copycat.client.state.ClientContext; +import net.kuujo.copycat.raft.client.state.ClientContext; import net.kuujo.copycat.io.serializer.Serializer; -import net.kuujo.copycat.log.Compaction; -import net.kuujo.copycat.log.Entry; -import net.kuujo.copycat.log.Log; -import net.kuujo.copycat.protocol.*; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.RaftServer; -import net.kuujo.copycat.server.StateMachine; -import net.kuujo.copycat.server.log.*; -import net.kuujo.copycat.transport.Connection; -import net.kuujo.copycat.transport.LocalConnection; -import net.kuujo.copycat.transport.Server; -import net.kuujo.copycat.transport.Transport; +import net.kuujo.copycat.raft.*; +import net.kuujo.copycat.raft.log.Compaction; +import net.kuujo.copycat.raft.log.Entry; +import net.kuujo.copycat.raft.log.Log; +import net.kuujo.copycat.raft.protocol.*; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.RaftServer; +import net.kuujo.copycat.raft.server.StateMachine; +import net.kuujo.copycat.raft.server.log.*; +import net.kuujo.copycat.raft.transport.Connection; +import net.kuujo.copycat.raft.transport.LocalConnection; +import net.kuujo.copycat.raft.transport.Server; +import net.kuujo.copycat.raft.transport.Transport; import net.kuujo.copycat.util.concurrent.ComposableFuture; import net.kuujo.copycat.util.concurrent.Context; import net.kuujo.copycat.util.concurrent.Futures; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/ServerSession.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/ServerSession.java similarity index 92% rename from server/src/main/java/net/kuujo/copycat/server/state/ServerSession.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/ServerSession.java index 1670644c3b..34ba85f690 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/ServerSession.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/ServerSession.java @@ -13,17 +13,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; import net.kuujo.copycat.Listeners; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.UnknownSessionException; -import net.kuujo.copycat.protocol.PublishRequest; -import net.kuujo.copycat.protocol.PublishResponse; -import net.kuujo.copycat.protocol.Response; -import net.kuujo.copycat.transport.Connection; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.UnknownSessionException; +import net.kuujo.copycat.raft.protocol.PublishRequest; +import net.kuujo.copycat.raft.protocol.PublishResponse; +import net.kuujo.copycat.raft.protocol.Response; +import net.kuujo.copycat.raft.transport.Connection; import net.kuujo.copycat.util.concurrent.Futures; import java.util.UUID; diff --git a/server/src/main/java/net/kuujo/copycat/server/state/SessionManager.java b/server/src/main/java/net/kuujo/copycat/raft/server/state/SessionManager.java similarity index 94% rename from server/src/main/java/net/kuujo/copycat/server/state/SessionManager.java rename to server/src/main/java/net/kuujo/copycat/raft/server/state/SessionManager.java index 8f30357d24..f0fd71d8f8 100644 --- a/server/src/main/java/net/kuujo/copycat/server/state/SessionManager.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/state/SessionManager.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.state; +package net.kuujo.copycat.raft.server.state; -import net.kuujo.copycat.Session; -import net.kuujo.copycat.transport.Connection; +import net.kuujo.copycat.raft.Session; +import net.kuujo.copycat.raft.transport.Connection; import java.util.HashMap; import java.util.Map; diff --git a/server/src/main/java/net/kuujo/copycat/server/util/Quorum.java b/server/src/main/java/net/kuujo/copycat/raft/server/util/Quorum.java similarity index 97% rename from server/src/main/java/net/kuujo/copycat/server/util/Quorum.java rename to server/src/main/java/net/kuujo/copycat/raft/server/util/Quorum.java index 61e6db0c59..547f7e3c8b 100644 --- a/server/src/main/java/net/kuujo/copycat/server/util/Quorum.java +++ b/server/src/main/java/net/kuujo/copycat/raft/server/util/Quorum.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.server.util; +package net.kuujo.copycat.raft.server.util; import java.util.function.Consumer; diff --git a/server/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable b/server/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable index 78387397aa..399f2aab9f 100644 --- a/server/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable +++ b/server/src/main/resources/META-INF/services/net.kuujo.copycat.io.serializer.CopycatSerializable @@ -13,9 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # -net.kuujo.copycat.server.log.CommandEntry -net.kuujo.copycat.server.log.ConfigurationEntry -net.kuujo.copycat.server.log.KeepAliveEntry -net.kuujo.copycat.server.log.NoOpEntry -net.kuujo.copycat.server.log.QueryEntry -net.kuujo.copycat.server.log.RegisterEntry +net.kuujo.copycat.raft.server.log.CommandEntry +net.kuujo.copycat.raft.server.log.ConfigurationEntry +net.kuujo.copycat.raft.server.log.KeepAliveEntry +net.kuujo.copycat.raft.server.log.NoOpEntry +net.kuujo.copycat.raft.server.log.QueryEntry +net.kuujo.copycat.raft.server.log.RegisterEntry diff --git a/server/src/test/java/net/kuujo/copycat/raft/StateMachineTest.java b/server/src/test/java/net/kuujo/copycat/raft/server/StateMachineTest.java similarity index 85% rename from server/src/test/java/net/kuujo/copycat/raft/StateMachineTest.java rename to server/src/test/java/net/kuujo/copycat/raft/server/StateMachineTest.java index 0cd656256a..874d97be83 100644 --- a/server/src/test/java/net/kuujo/copycat/raft/StateMachineTest.java +++ b/server/src/test/java/net/kuujo/copycat/raft/server/StateMachineTest.java @@ -13,15 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.raft; +package net.kuujo.copycat.raft.server; -import net.kuujo.copycat.Command; -import net.kuujo.copycat.ConsistencyLevel; -import net.kuujo.copycat.Query; -import net.kuujo.copycat.server.Apply; -import net.kuujo.copycat.server.Commit; -import net.kuujo.copycat.server.Filter; -import net.kuujo.copycat.server.StateMachine; +import net.kuujo.copycat.raft.Command; +import net.kuujo.copycat.raft.ConsistencyLevel; +import net.kuujo.copycat.raft.Query; +import net.kuujo.copycat.raft.server.Apply; +import net.kuujo.copycat.raft.server.Commit; +import net.kuujo.copycat.raft.server.Filter; +import net.kuujo.copycat.raft.server.StateMachine; import org.testng.Assert; import org.testng.annotations.Test; diff --git a/server/src/test/java/net/kuujo/copycat/raft/util/QuorumTest.java b/server/src/test/java/net/kuujo/copycat/raft/server/util/QuorumTest.java similarity index 94% rename from server/src/test/java/net/kuujo/copycat/raft/util/QuorumTest.java rename to server/src/test/java/net/kuujo/copycat/raft/server/util/QuorumTest.java index c8717618d6..d4ede00629 100644 --- a/server/src/test/java/net/kuujo/copycat/raft/util/QuorumTest.java +++ b/server/src/test/java/net/kuujo/copycat/raft/server/util/QuorumTest.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.raft.util; +package net.kuujo.copycat.raft.server.util; -import net.kuujo.copycat.server.util.Quorum; +import net.kuujo.copycat.raft.server.util.Quorum; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; diff --git a/transport/src/main/java/net/kuujo/copycat/transport/Client.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/Client.java similarity index 78% rename from transport/src/main/java/net/kuujo/copycat/transport/Client.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/Client.java index 71003c68c6..6886516b5c 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/Client.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/Client.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import java.net.InetSocketAddress; import java.util.UUID; @@ -22,7 +22,7 @@ /** * Transport client. *

- * This is a low-level abstraction through which Copycat clients connect to {@link net.kuujo.copycat.transport.Server servers}. + * This is a low-level abstraction through which Copycat clients connect to {@link Server servers}. * Users should never use this API directly. * * @author Jordan Halterman @@ -33,10 +33,10 @@ public interface Client { * Returns the client ID. *

* The client ID is a globally unique {@link java.util.UUID} that identifies connections between this - * {@link net.kuujo.copycat.transport.Client} and a remote {@link net.kuujo.copycat.transport.Server}. + * {@link Client} and a remote {@link Server}. *

* When a client connects to a server, the client will establish the connection by sending the server its ID. This allows - * the server to identify connected clients via {@link net.kuujo.copycat.transport.Connection#id()}. + * the server to identify connected clients via {@link Connection#id()}. * * @return The client ID. */ @@ -45,7 +45,7 @@ public interface Client { /** * Connects the client to the given address. *

- * Once the client connects to the given address, the {@link net.kuujo.copycat.transport.Connection} will be established + * Once the client connects to the given address, the {@link Connection} will be established * by sharing the client's {@link #id()} with the server and the returned {@link java.util.concurrent.CompletableFuture future} * will be completed. The resulting {@link Connection#id()} will equal the client {@link #id()}. * @@ -57,7 +57,7 @@ public interface Client { /** * Closes the client. *

- * Before the client is closed, all {@link net.kuujo.copycat.transport.Connection}s opened by the client will be closed + * Before the client is closed, all {@link Connection}s opened by the client will be closed * and any registered {@link Connection#closeListener(net.kuujo.copycat.Listener)}s will be invoked. * * @return A completable future to be called once the client is closed. diff --git a/transport/src/main/java/net/kuujo/copycat/transport/Connection.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/Connection.java similarity index 87% rename from transport/src/main/java/net/kuujo/copycat/transport/Connection.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/Connection.java index 2ad2ab9b59..f000f56f53 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/Connection.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/Connection.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.Listener; import net.kuujo.copycat.ListenerContext; @@ -38,8 +38,8 @@ public interface Connection { /** * Returns the connection ID. *

- * The connection ID is inherited from the {@link net.kuujo.copycat.transport.Client} that is connected. When the connection - * is created, the client will send its {@link net.kuujo.copycat.transport.Client#id()} to the {@link net.kuujo.copycat.transport.Server} + * The connection ID is inherited from the {@link Client} that is connected. When the connection + * is created, the client will send its {@link Client#id()} to the {@link Server} * and the connection ID will reflect the client's ID on both the client and server side. * * @return The connection ID. @@ -53,12 +53,12 @@ public interface Connection { * must implement {@link java.io.Serializable}, {@link java.io.Externalizable}, or {@link net.kuujo.copycat.io.serializer.CopycatSerializable} * or provide a custom {@link net.kuujo.copycat.io.serializer.TypeSerializer}. *

- * Note that {@link net.kuujo.copycat.transport.Connection}s are bi-directional. That is, messages can be send either + * Note that {@link Connection}s are bi-directional. That is, messages can be send either * by the client or the server. All messages must have a reply, even if the reply is {@code null}. Once the reply * has been received from the other side of the connection, the returned {@link java.util.concurrent.CompletableFuture} * will be completed. *

- * {@link net.kuujo.copycat.transport.Connection} implementations must guarantee that all reply + * {@link Connection} implementations must guarantee that all reply * {@link java.util.concurrent.CompletableFuture futures} will be completed in the same * {@link net.kuujo.copycat.util.concurrent.CopycatThread Copycat thread}. * @@ -73,7 +73,7 @@ public interface Connection { * Sets a message handler on the connection. *

* The message handler will be invoked each time a message of the given type is received from the other side of the - * connection. All messages are classified by type, and only one {@link net.kuujo.copycat.transport.MessageHandler} may + * connection. All messages are classified by type, and only one {@link MessageHandler} may * be registered on the connection for any given type. *

* The message handler must return a {@link java.util.concurrent.CompletableFuture} to be completed with the message @@ -105,8 +105,8 @@ public interface Connection { * Sets a close listener on the connection. *

* The provided listener's {@link Listener#accept(Object)} method will be invoked when the connection is closed. Note - * that a close event can be triggered via {@link net.kuujo.copycat.transport.Connection#close()} or by the - * {@link net.kuujo.copycat.transport.Client} or {@link net.kuujo.copycat.transport.Server} that created the connection. + * that a close event can be triggered via {@link Connection#close()} or by the + * {@link Client} or {@link Server} that created the connection. * * @param listener The close listener. * @return The connection. diff --git a/transport/src/main/java/net/kuujo/copycat/transport/MessageHandler.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/MessageHandler.java similarity index 94% rename from transport/src/main/java/net/kuujo/copycat/transport/MessageHandler.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/MessageHandler.java index a467dc3456..ea2a4ce441 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/MessageHandler.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/MessageHandler.java @@ -13,16 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import java.util.concurrent.CompletableFuture; /** * Transport layer message handler. *

- * This is a functional interface for handling messages on a {@link net.kuujo.copycat.transport.Connection} instance. + * This is a functional interface for handling messages on a {@link Connection} instance. * Message handlers are {@link Connection#handler(Class, MessageHandler) registered} for specific types. When - * {@link MessageHandler#handle(Object)} is invoked by a {@link net.kuujo.copycat.transport.Connection}, the handler + * {@link MessageHandler#handle(Object)} is invoked by a {@link Connection}, the handler * must return a valid {@link java.util.concurrent.CompletableFuture} to be completed with the message reply. *

* Note that input and output for the message handler must be serializable via the configured {@link net.kuujo.copycat.io.serializer.Serializer} diff --git a/transport/src/main/java/net/kuujo/copycat/transport/Server.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/Server.java similarity index 84% rename from transport/src/main/java/net/kuujo/copycat/transport/Server.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/Server.java index e21684afe6..e6ecbdfdfa 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/Server.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/Server.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.Listener; @@ -45,9 +45,9 @@ public interface Server { *

* Once the server has started listening on the provided {@code address}, {@link Listener#accept(Object)} will be * called for the provided {@link net.kuujo.copycat.Listener} each time a new connection to the server is established. - * The provided connection's {@link net.kuujo.copycat.transport.Connection#id()} will reflect the - * {@link net.kuujo.copycat.transport.Client#id()} of the client that connected to the server and not the - * {@link net.kuujo.copycat.transport.Server#id()} of the server itself. + * The provided connection's {@link Connection#id()} will reflect the + * {@link Client#id()} of the client that connected to the server and not the + * {@link Server#id()} of the server itself. *

* Once the server has bound to the provided {@link java.net.InetSocketAddress address} the returned * {@link java.util.concurrent.CompletableFuture} will be completed. @@ -61,7 +61,7 @@ public interface Server { * Closes the server. *

* When the server is closed, any {@link Connection#closeListener(net.kuujo.copycat.Listener) close listeners} registered - * on the server's {@link net.kuujo.copycat.transport.Connection}s will be invoked prior to shutdown. + * on the server's {@link Connection}s will be invoked prior to shutdown. * * @return A completable future to be completed once the server is closed. */ diff --git a/transport/src/main/java/net/kuujo/copycat/transport/Transport.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/Transport.java similarity index 56% rename from transport/src/main/java/net/kuujo/copycat/transport/Transport.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/Transport.java index a5c6aa2c89..b69c81625a 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/Transport.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/Transport.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import java.util.UUID; import java.util.concurrent.CompletableFuture; @@ -21,14 +21,14 @@ /** * Transport provider. *

- * This is a low level abstraction that serves to provide Copycat clients and servers with {@link net.kuujo.copycat.transport.Client} - * and {@link net.kuujo.copycat.transport.Server} instances. Throughout the lifetime of a {@code Transport}, Copycat may - * call on the transport to create multiple {@link net.kuujo.copycat.transport.Client} and {@link net.kuujo.copycat.transport.Server} + * This is a low level abstraction that serves to provide Copycat clients and servers with {@link Client} + * and {@link Server} instances. Throughout the lifetime of a {@code Transport}, Copycat may + * call on the transport to create multiple {@link Client} and {@link Server} * objects. Each {@code Client} and {@code Server} is identified by a {@link java.util.UUID} which is assumed to be unique * to that instance across the entire Copycat cluster. *

- * When the {@link net.kuujo.copycat.transport.Transport} is closed, it should close all {@link net.kuujo.copycat.transport.Client} - * and {@link net.kuujo.copycat.transport.Server} instances created by it if they're not already closed. + * When the {@link Transport} is closed, it should close all {@link Client} + * and {@link Server} instances created by it if they're not already closed. * * @author Jordan Halterman */ @@ -38,10 +38,10 @@ public interface Transport { * Creates a transport client. *

* The provided {@link java.util.UUID} is a cluster-wide unique identifier for the client. The {@link Connection#id()} - * for all {@link net.kuujo.copycat.transport.Connection} objects created by the client should reflect the provided - * {@code id}. Additionally, {@link net.kuujo.copycat.transport.Connection} objects created by any - * {@link net.kuujo.copycat.transport.Server} to which the provided client connects should have the same - * {@link net.kuujo.copycat.transport.Connection#id()} . + * for all {@link Connection} objects created by the client should reflect the provided + * {@code id}. Additionally, {@link Connection} objects created by any + * {@link Server} to which the provided client connects should have the same + * {@link Connection#id()} . * * @param id The client ID. * @return The transport client. @@ -52,9 +52,9 @@ public interface Transport { * Creates a transport server. *

* The provided {@link java.util.UUID} is a cluster-wide unique identifier for the client. However, note that - * {@link net.kuujo.copycat.transport.Connection} objects created by the provided {@link net.kuujo.copycat.transport.Server} - * should be created with the {@link Connection#id()} of the connecting {@link net.kuujo.copycat.transport.Client} and - * not the provided {@link net.kuujo.copycat.transport.Server} itself. + * {@link Connection} objects created by the provided {@link Server} + * should be created with the {@link Connection#id()} of the connecting {@link Client} and + * not the provided {@link Server} itself. * * @param id The server ID. * @return The transport server. @@ -64,8 +64,8 @@ public interface Transport { /** * Closes the transport. *

- * When the transport is closed, all {@link net.kuujo.copycat.transport.Client} and {@link net.kuujo.copycat.transport.Server} - * objects provided by the {@link net.kuujo.copycat.transport.Transport} should be closed if not closed already. + * When the transport is closed, all {@link Client} and {@link Server} + * objects provided by the {@link Transport} should be closed if not closed already. * * @return A completable future to be completed once the transport is closed. */ diff --git a/transport/src/main/java/net/kuujo/copycat/transport/TransportException.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/TransportException.java similarity index 96% rename from transport/src/main/java/net/kuujo/copycat/transport/TransportException.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/TransportException.java index 778cbbb42f..25b41af4f7 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/TransportException.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/TransportException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport; import net.kuujo.copycat.CopycatException; diff --git a/transport/src/main/java/net/kuujo/copycat/transport/package-info.java b/transport/src/main/java/net/kuujo/copycat/raft/transport/package-info.java similarity index 65% rename from transport/src/main/java/net/kuujo/copycat/transport/package-info.java rename to transport/src/main/java/net/kuujo/copycat/raft/transport/package-info.java index abbb13d2b9..8d92dab41d 100644 --- a/transport/src/main/java/net/kuujo/copycat/transport/package-info.java +++ b/transport/src/main/java/net/kuujo/copycat/raft/transport/package-info.java @@ -17,10 +17,10 @@ /** * The Transport layer provides a low-level interface via which Copycat clients and servers communicate. *

- * A {@link net.kuujo.copycat.transport.Transport} is a simple provider for {@link net.kuujo.copycat.transport.Client} - * and {@link net.kuujo.copycat.transport.Server} objects. The {@link net.kuujo.copycat.transport.Client} and - * {@link net.kuujo.copycat.transport.Server} are the interfaces through which clients and servers communicate respectively. + * A {@link net.kuujo.copycat.raft.transport.Transport} is a simple provider for {@link net.kuujo.copycat.raft.transport.Client} + * and {@link net.kuujo.copycat.raft.transport.Server} objects. The {@link net.kuujo.copycat.raft.transport.Client} and + * {@link net.kuujo.copycat.raft.transport.Server} are the interfaces through which clients and servers communicate respectively. * * @author Jordan Halterman */ -package net.kuujo.copycat.transport; +package net.kuujo.copycat.raft.transport;