Пример #1
0
        public static async ValueTask <Maybe <T> > TryReadAsync <T>(this IReadableChannel <T> channel)
        {
            var result = await channel.TryReadSafeAsync().ConfigureAwait(false);

            if (result.HasValue)
            {
                return(result);
            }
            await channel.Completion.ConfigureAwait(false);

            return(result);
        }