C# Class Halibut.Transport.Protocol.MessageExchangeProtocol

Implements the core message exchange protocol for both the client and server.
Exibir arquivo Open project: OctopusDeploy/Halibut Class Usage Examples

Public Methods

Method Description
ExchangeAsClient ( RequestMessage request ) : Halibut.Transport.Protocol.ResponseMessage
ExchangeAsServer ( ResponseMessage>.Func incomingRequestProcessor, IPendingRequestQueue>.Func pendingRequests ) : void
ExchangeAsSubscriber ( Uri subscriptionId, ResponseMessage>.Func incomingRequestProcessor, int maxAttempts = int.MaxValue ) : void
MessageExchangeProtocol ( IMessageExchangeStream stream ) : System
MessageExchangeProtocol ( Stream stream, ILog log ) : System

Private Methods

Method Description
InvokeAndWrapAnyExceptions ( RequestMessage request, ResponseMessage>.Func incomingRequestProcessor ) : Halibut.Transport.Protocol.ResponseMessage
PrepareExchangeAsClient ( ) : void
ProcessClientRequests ( ResponseMessage>.Func incomingRequestProcessor ) : void
ProcessSubscriber ( IPendingRequestQueue pendingRequests ) : void
ReceiveAndProcessRequest ( IMessageExchangeStream stream, ResponseMessage>.Func incomingRequestProcessor ) : void

Method Details

ExchangeAsClient() public method

public ExchangeAsClient ( RequestMessage request ) : Halibut.Transport.Protocol.ResponseMessage
request RequestMessage
return Halibut.Transport.Protocol.ResponseMessage

ExchangeAsServer() public method

public ExchangeAsServer ( ResponseMessage>.Func incomingRequestProcessor, IPendingRequestQueue>.Func pendingRequests ) : void
incomingRequestProcessor ResponseMessage>.Func
pendingRequests IPendingRequestQueue>.Func
return void

ExchangeAsSubscriber() public method

public ExchangeAsSubscriber ( Uri subscriptionId, ResponseMessage>.Func incomingRequestProcessor, int maxAttempts = int.MaxValue ) : void
subscriptionId System.Uri
incomingRequestProcessor ResponseMessage>.Func
maxAttempts int
return void

MessageExchangeProtocol() public method

public MessageExchangeProtocol ( IMessageExchangeStream stream ) : System
stream IMessageExchangeStream
return System

MessageExchangeProtocol() public method

public MessageExchangeProtocol ( Stream stream, ILog log ) : System
stream Stream
log ILog
return System