Amqp.TaskExtensions.OpenAsync C# (CSharp) Метод

OpenAsync() статический приватный Метод

static private OpenAsync ( this saslProfile, string hostname, IBufferManager bufferManager, IAsyncTransport transport ) : Task
saslProfile this
hostname string
bufferManager IBufferManager
transport IAsyncTransport
Результат Task
        internal static async Task<IAsyncTransport> OpenAsync(this SaslProfile saslProfile, string hostname,
            IBufferManager bufferManager, IAsyncTransport transport)
        {
            ProtocolHeader header = saslProfile.Start(hostname, transport);

            AsyncPump pump = new AsyncPump(bufferManager, transport);

            await pump.PumpAsync(
                h => { saslProfile.OnHeader(header, h); return true; },
                b => { SaslCode code; return saslProfile.OnFrame(transport, b, out code); });

            return (IAsyncTransport)saslProfile.UpgradeTransportInternal(transport);
        }
    }