public IService RegisterRequest <TRequest, TResponse>( string method, ServiceDelegates.SpanSerializer requestSerializer, ServiceDelegates.SpanDeserializer responseDeserializer ) { RequestSerializers.Add(method, requestSerializer); ResponseDeserializers.Add(method, responseDeserializer); AddMethodHash(method); return(this); }
public IService RegisterRequestHandler <TRequest, TResponse>( string method, Func <TRequest, Task <TResponse> > handler, ServiceDelegates.SpanDeserializer requestDeserializer, ServiceDelegates.SpanSerializer responseSerializer ) { RequestDeserializers.Add(method, requestDeserializer); ResponseSerializers.Add(method, responseSerializer); RequestHandlers.Add(method, async(message) => { return(await handler((TRequest)message)); }); AddMethodHash(method); return(this); }
public IService RegisterSend <TRequest>(string method, ServiceDelegates.SpanSerializer requestSerializer) { RequestSerializers.Add(method, requestSerializer); AddMethodHash(method); return(this); }