Akka.Remote.Transport.Transport.Listen C# (CSharp) Method

Listen() public abstract method

public abstract Listen ( ) : TaskCompletionSource>>.Task
return TaskCompletionSource>>.Task
        public abstract Task<Tuple<Address, TaskCompletionSource<IAssociationEventListener>>> Listen();

Usage Example

Exemplo n.º 1
0
        /// <summary>
        /// TBD
        /// </summary>
        /// <returns>TBD</returns>
        public override Task <(Address, TaskCompletionSource <IAssociationEventListener>)> Listen()
        {
            var upstreamListenerPromise = new TaskCompletionSource <IAssociationEventListener>();

            return(WrappedTransport.Listen().ContinueWith(async listenerTask =>
            {
                var listenAddress = listenerTask.Result.Item1;
                var listenerPromise = listenerTask.Result.Item2;
                listenerPromise.TrySetResult(await InterceptListen(listenAddress, upstreamListenerPromise.Task).ConfigureAwait(false));
                return (SchemeAugmenter.AugmentScheme(listenAddress), upstreamListenerPromise);
            }, TaskContinuationOptions.ExecuteSynchronously).Unwrap());
        }