/// <summary> /// Warning: There's one unnecessary copying of the data. You should fix it before sending large data too often. /// </summary> public void SendMessage <TRequest>(string handlerName, TRequest messageBody) where TRequest : Table { byte[] buffer = BufferConverter.Convert(messageBody.ByteBuffer); SendMessage(handlerName, buffer, buffer.Length); }
/// <summary> /// Warning: There's one unnecessary copying of the data. You should fix it before sending large data too often. /// </summary> public TResponse SendQuery <TRequest, TResponse>(string handlerName, TRequest messageBody) where TRequest : Table where TResponse : Table { var receiveStream = new MemoryStream(InitialBufferSize); ByteBuffer byteBuffer = messageBody.ByteBuffer; byte[] buffer = BufferConverter.Convert(byteBuffer); SendQuery(handlerName, buffer, receiveStream, buffer.Length); receiveStream.Position = 0; return(m_responseParser.Parse <TResponse>(receiveStream.GetBuffer())); }