C# Класс Halibut.Transport.Protocol.MessageExchangeProtocol

Implements the core message exchange protocol for both the client and server.
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
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

Приватные методы

Метод Описание
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

Описание методов

ExchangeAsClient() публичный Метод

public ExchangeAsClient ( RequestMessage request ) : Halibut.Transport.Protocol.ResponseMessage
request RequestMessage
Результат Halibut.Transport.Protocol.ResponseMessage

ExchangeAsServer() публичный Метод

public ExchangeAsServer ( ResponseMessage>.Func incomingRequestProcessor, IPendingRequestQueue>.Func pendingRequests ) : void
incomingRequestProcessor ResponseMessage>.Func
pendingRequests IPendingRequestQueue>.Func
Результат void

ExchangeAsSubscriber() публичный Метод

public ExchangeAsSubscriber ( Uri subscriptionId, ResponseMessage>.Func incomingRequestProcessor, int maxAttempts = int.MaxValue ) : void
subscriptionId System.Uri
incomingRequestProcessor ResponseMessage>.Func
maxAttempts int
Результат void

MessageExchangeProtocol() публичный Метод

public MessageExchangeProtocol ( IMessageExchangeStream stream ) : System
stream IMessageExchangeStream
Результат System

MessageExchangeProtocol() публичный Метод

public MessageExchangeProtocol ( Stream stream, ILog log ) : System
stream Stream
log ILog
Результат System