public void TestGetUncommittedBlockHandle() { var uncommitedBlockId = TestOpenBlock(); var messageAllocation = new Span <byte>(new byte[GetUncommittedBlockHandle.SizeInBytes]); var getHandle = new GetUncommittedBlockHandle(1, 5, uncommitedBlockId); // Serialize message to put it into the inbox MessageSerializers.ClientSerializeGetUncommittedBlockHandle(getHandle, messageAllocation); _inbox.TryWrite(messageAllocation); _controller.DoWork(); _outbox.Next(); // because we did the TestOpenBlock in the beginning var result = _outbox.Peek(); Assert.Equal(MessageType.BlockHandle, ClientServerMessage.GetMessageType(result)); var response = MessageSerializers.ClientDeserializeBlockHandleResponse(result); Assert.Equal(1U, response.RequestId); Assert.Equal(5U, response.ClientId); Assert.Equal(_9, response.BlockHandle); }
public void SerializeDeserializeGetUBlockHandle() { var getUBlockHandle = new GetUncommittedBlockHandle(3, 4, new TempBlockId(new Hash128(987654321, 123456789))); MessageSerializers.ClientSerializeGetUncommittedBlockHandle(getUBlockHandle, _buffer); var newGetUBlockHandle = MessageSerializers.DeserializeGetUncommittedBlockHandle(_buffer); Assert.True(getUBlockHandle.ClientId == newGetUBlockHandle.ClientId && getUBlockHandle.RequestId == newGetUBlockHandle.RequestId && getUBlockHandle.RequestType == newGetUBlockHandle.RequestType && getUBlockHandle.UncommittedBlockId.Equals(newGetUBlockHandle.UncommittedBlockId)); }
public static void ClientSerializeGetUncommittedBlockHandle(GetUncommittedBlockHandle getUncommittedBlockHandle, Span <byte> toWrite) { var editor = new SpanBinaryEditor(toWrite); var messageHeader = new MessageHeader(GetUncommittedBlockHandle.SizeInBytes, getUncommittedBlockHandle.RequestId, getUncommittedBlockHandle.ClientId, MessageInfo.FromType(getUncommittedBlockHandle.RequestType)); WriteMessageHeader(ref messageHeader, ref editor); getUncommittedBlockHandle.UncommittedBlockId.WriteTo(ref editor); }
public void terab_utxo_get_uncommitted_block() { var blockUcid = terab_utxo_open_block(); _socket.ExpectConnected(() => true); _socket.ExpectConnected(() => true); _socket.ExpectConnected(() => true); _socket.ExpectAvailable(() => GetUncommittedBlockHandle.SizeInBytes); _socket.ExpectReceive(data => { data.Clear(); Assert.True(data.Length >= GetUncommittedBlockHandle.SizeInBytes); var getUHandle = new GetUncommittedBlockHandle(1, 0, blockUcid); // Serialize message to put it into the inbox MessageSerializers.ClientSerializeGetUncommittedBlockHandle(getUHandle, data); return(GetUncommittedBlockHandle.SizeInBytes); }); _socket.ExpectConnected(() => true); _socket.ExpectAvailable(() => 0); _socket.ExpectConnected(() => true); _socket.ExpectSend(data => { Assert.Equal(BlockHandleResponse.SizeInBytes, data.Length); BlockHandleResponse response = MessageSerializers.ClientDeserializeBlockHandleResponse(data); Assert.Equal(BlockAlias.Genesis, response.BlockHandle); return(BlockHandleResponse.SizeInBytes); }); _dispatcher.ListenToConnections(); _controllerThread.DoWork(); _dispatcher.SendResponses(); _socket.ExpectAllDone(); }