AsyncDolls.Pipeline.Incoming.IncomingPipeline.Invoke C# (CSharp) Method

Invoke() public method

public Invoke ( IBusForHandler bus, TransportMessage message, EndpointConfiguration configuration ) : System.Threading.Tasks.Task
bus IBusForHandler
message TransportMessage
configuration EndpointConfiguration
return System.Threading.Tasks.Task
        public async Task Invoke(IBusForHandler bus, TransportMessage message, EndpointConfiguration.ReadOnly configuration)
        {
            var transportContext = new IncomingTransportContext(message, configuration);
            await InvokeTransport(transportContext, bus)
                .ConfigureAwait(false);

            // We assume that someone in the pipeline made logical message
            var logicalMessage = transportContext.Get<LogicalMessage>();

            var logicalContext = new IncomingLogicalContext(logicalMessage, message, configuration);
            currentContext = logicalContext;
            await InvokeLogical(logicalContext, bus)
                .ConfigureAwait(false);
        }