public TcpServerTransport( ServerEventLoop eventLoop, RpcServerOptions options, RequestMessageSerializer requestMessageSerializer, ResponseMessageSerializer responseMessageSerializer ) { if ( eventLoop == null ) { throw new ArgumentNullException( "eventLoop" ); } if ( requestMessageSerializer == null ) { throw new ArgumentNullException( "requestMessageSerializer" ); } if ( responseMessageSerializer == null ) { throw new ArgumentNullException( "responseMessageSerializer" ); } Contract.EndContractBlock(); this._eventLoop = eventLoop; this._options = options; this._requestSerializer = requestMessageSerializer; this._responseSerializer = responseMessageSerializer; }
protected ClientTransport( RpcTransportProtocol protocol, ClientEventLoop eventLoop, RpcClientOptions options ) { if ( eventLoop == null ) { throw new ArgumentNullException( "eventLoop" ); } Contract.EndContractBlock(); this._eventLoop = eventLoop; this._requestSerializer = ClientServices.RequestSerializerFactory.Create( protocol, options ); this._responseSerializer = ClientServices.ResponseDeserializerFactory.Create( protocol, options ); this._drainTimeout = options == null ? TimeSpan.FromSeconds( 3 ) : options.DrainTimeout ?? TimeSpan.FromSeconds( 3 ); this._options = options ?? new RpcClientOptions(); this._options.Freeze(); }
public static RpcOutputBuffer SerializeNotification( String method, params object[] arguments ) { RpcOutputBuffer result = new RpcOutputBuffer( ChunkBuffer.CreateDefault() ); var error = new RequestMessageSerializer( Arrays<IFilterProvider<RequestMessageSerializationFilter>>.Empty, Arrays<IFilterProvider<SerializedMessageFilter<MessageSerializationContext>>>.Empty, Arrays<IFilterProvider<SerializedMessageFilter<MessageDeserializationContext>>>.Empty, Arrays<IFilterProvider<RequestMessageDeserializationFilter>>.Empty, null ).Serialize( null, method, arguments, result ); if ( !error.IsSuccess ) { throw error.ToException(); } return result; }
public static RequestMessage DeserializeRequestOrNotification( IEnumerable<byte> input ) { RequestMessage result; var error = new RequestMessageSerializer( Arrays<IFilterProvider<RequestMessageSerializationFilter>>.Empty, Arrays<IFilterProvider<SerializedMessageFilter<MessageSerializationContext>>>.Empty, Arrays<IFilterProvider<SerializedMessageFilter<MessageDeserializationContext>>>.Empty, Arrays<IFilterProvider<RequestMessageDeserializationFilter>>.Empty, null ).Deserialize( input, out result ); if ( !error.IsSuccess ) { throw error.ToException(); } return result; }