private void Clear(Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage message) { _messageComposer = null; if (_replicatedContents.Count > 0 || _raftLogEntryTerms.Count > 0) { throw new System.InvalidOperationException(string.Format("Message [{0}] was composed without using all resources in the pipeline. " + "Pipeline still contains Replicated contents[{1}] and RaftLogEntryTerms [{2}]", message, Stringify(_replicatedContents), Stringify(_raftLogEntryTerms))); } }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldSerializeHeartbeats() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldSerializeHeartbeats() { // Given Instant now = Instant.now(); Clock clock = Clock.@fixed(now, ZoneOffset.UTC); RaftMessageEncoder encoder = new RaftMessageEncoder(marshal); RaftMessageDecoder decoder = new RaftMessageDecoder(marshal, clock); // Deserialization adds read objects in this list List <object> thingsRead = new List <object>(1); // When MemberId sender = new MemberId(System.Guid.randomUUID()); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: org.neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage<?> message = org.neo4j.causalclustering.core.consensus.RaftMessages_ReceivedInstantClusterIdAwareMessage.of(now, clusterId, new org.neo4j.causalclustering.core.consensus.RaftMessages_Heartbeat(sender, 1, 2, 3)); Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage <object> message = Org.Neo4j.causalclustering.core.consensus.RaftMessages_ReceivedInstantClusterIdAwareMessage.of(now, _clusterId, new Org.Neo4j.causalclustering.core.consensus.RaftMessages_Heartbeat(sender, 1, 2, 3)); ChannelHandlerContext ctx = SetupContext(); ByteBuf buffer = null; try { buffer = ctx.alloc().buffer(); encoder.Encode(ctx, message, buffer); // When decoder.Decode(null, buffer, thingsRead); // Then assertEquals(1, thingsRead.Count); assertEquals(message, thingsRead[0]); } finally { if (buffer != null) { buffer.release(); } } }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void serializeReadBackAndVerifyMessage(org.neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage message) throws Exception private void SerializeReadBackAndVerifyMessage(Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage message) { // Given Instant now = Instant.now(); Clock clock = Clock.@fixed(now, ZoneOffset.UTC); RaftMessageEncoder encoder = new RaftMessageEncoder(marshal); RaftMessageDecoder decoder = new RaftMessageDecoder(marshal, clock); // Deserialization adds read objects in this list List <object> thingsRead = new List <object>(1); // When //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: org.neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage<?> decoratedMessage = org.neo4j.causalclustering.core.consensus.RaftMessages_ReceivedInstantClusterIdAwareMessage.of(now, clusterId, message); Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage <object> decoratedMessage = Org.Neo4j.causalclustering.core.consensus.RaftMessages_ReceivedInstantClusterIdAwareMessage.of(now, _clusterId, message); ChannelHandlerContext ctx = SetupContext(); ByteBuf buffer = null; try { buffer = ctx.alloc().buffer(); encoder.Encode(ctx, decoratedMessage, buffer); // When decoder.Decode(null, buffer, thingsRead); // Then assertEquals(1, thingsRead.Count); assertEquals(decoratedMessage, thingsRead[0]); } finally { if (buffer != null) { buffer.release(); } } }
private Matcher <object> MessageMatches <T1>(Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage <T1> expected) where T1 : Org.Neo4j.causalclustering.core.consensus.RaftMessages_RaftMessage { return(new MessageMatcher(this, expected)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldSuccessfullySendAndReceiveAMessage() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldSuccessfullySendAndReceiveAMessage() { // given Org.Neo4j.causalclustering.core.consensus.RaftMessages_Heartbeat raftMessage = new Org.Neo4j.causalclustering.core.consensus.RaftMessages_Heartbeat(new MemberId(System.Guid.randomUUID()), 1, 2, 3); Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage <Org.Neo4j.causalclustering.core.consensus.RaftMessages_Heartbeat> networkMessage = Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage.of(new ClusterId(System.Guid.randomUUID()), raftMessage); // when _client.send(networkMessage).syncUninterruptibly(); // then assertEventually(messages => string.Format("Received messages {0} should contain message decorating {1}", messages, raftMessage), () => _server.received(), contains(MessageMatches(networkMessage)), TIMEOUT_SECONDS, SECONDS); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldSendAndReceive() throws Throwable //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldSendAndReceive() { // given: raft server handler int port = PortAuthority.allocatePort(); Semaphore messageReceived = new Semaphore(0); ChannelInboundHandler nettyHandler = new ChannelInboundHandlerAdapterAnonymousInnerClass(this, messageReceived); Server raftServer = raftServer(nettyHandler, port); raftServer.Start(); // given: raft messaging service SenderService sender = RaftSender(); sender.Start(); // when AdvertisedSocketAddress to = new AdvertisedSocketAddress("localhost", port); MemberId memberId = new MemberId(System.Guid.randomUUID()); ClusterId clusterId = new ClusterId(System.Guid.randomUUID()); Org.Neo4j.causalclustering.core.consensus.RaftMessages_NewEntry_Request newEntryMessage = new Org.Neo4j.causalclustering.core.consensus.RaftMessages_NewEntry_Request(memberId, new MemberIdSet(asSet(memberId))); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: org.neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage<?> message = org.neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage.of(clusterId, newEntryMessage); Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage <object> message = Org.Neo4j.causalclustering.core.consensus.RaftMessages_ClusterIdAwareMessage.of(clusterId, newEntryMessage); sender.Send(to, message, Blocking); // then assertTrue(messageReceived.tryAcquire(15, SECONDS)); // cleanup sender.Stop(); raftServer.Stop(); }