Listen() 공개 추상적인 메소드

public abstract Listen ( ) : TaskCompletionSource>>.Task
리턴 TaskCompletionSource>>.Task
예제 #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());
        }