private void ProcessRequestHeartBeat(IChannel session, RequestHeartBeat request, byte[] body) { var response = new ResponseHeartBeat() { MilliSeconds = request.MilliSeconds, }; var sessionInfo = session.GetSessionInfo(); sessionInfo.PutOutboundMessage(new OutboundMessage(session, new RpcMessage(response, null))); }
public void TestRpcCodec() { var req = new RequestHeartBeat() { MilliSeconds = 123 }; var rpcMessage = new RpcMessage(req, null); var buffer = rpcCodec.Encode(allocator, rpcMessage) as IByteBuffer; var bufferLength = buffer.ReadableBytes; var(length, typeName, msg) = rpcCodec.Decode(buffer); RpcMessageEqual(rpcMessage, bufferLength, msg as RpcMessage, (int)length); ReferenceCountUtil.Release(buffer); }
public void TestMiltiMessagesRpcCodec() { var body1 = new byte[3] { 4, 5, 6 }; var reqHeartBeat1 = new RequestHeartBeat() { MilliSeconds = 123 }; var rpcMessage1 = new RpcMessage(reqHeartBeat1, body1); var buffer1 = rpcCodec.Encode(allocator, rpcMessage1) as IByteBuffer; var bufferLength1 = buffer1.ReadableBytes; var body2 = new byte[4] { 7, 8, 9, 10 }; var reqHeartBeat2 = new RequestHeartBeat() { MilliSeconds = 34234234 }; var rpcMessage2 = new RpcMessage(reqHeartBeat2, body2); var buffer2 = rpcCodec.Encode(allocator, rpcMessage2) as IByteBuffer; var bufferLength2 = buffer2.ReadableBytes; var buffer = allocator.Buffer(); buffer.WriteBytes(buffer1); buffer.WriteBytes(buffer2); var(length1, typeName1, msg1) = rpcCodec.Decode(buffer); RpcMessageEqual(rpcMessage1, bufferLength1, msg1 as RpcMessage, (int)length1); var(length2, typeName2, msg2) = rpcCodec.Decode(buffer); RpcMessageEqual(rpcMessage2, bufferLength2, msg2 as RpcMessage, (int)length2); }