/// <summary> /// Reads the channel asynchronously. /// </summary> /// <returns>The task for awaiting completion.</returns> /// <param name="self">The channel to read.</param> /// <param name="offer">The two-phase offer.</param> public static Task <object> ReadAsync(this IUntypedChannel self, ITwoPhaseOffer offer) { return(UntypedAccessMethods.CreateReadAccessor(self).ReadAsync(self, offer)); }
/// <summary> /// Creates a read request for the given channel. /// </summary> /// <param name="self">The channel to request the read from.</param> /// <returns>The created request</returns> public static IMultisetRequestUntyped RequestRead(this IUntypedChannel self) { return(UntypedAccessMethods.CreateReadAccessor(self).RequestRead(self)); }
/// <summary> /// Reads the channel asynchronously. /// </summary> /// <returns>The task for awaiting completion.</returns> /// <param name="self">The channel to read.</param> /// <param name="timeout">The read timeout.</param> /// <param name="cancelToken">The cancellation token</param> public static Task <object> ReadAsync(this IUntypedChannel self, TimeSpan timeout, CancellationToken cancelToken) { return(UntypedAccessMethods.CreateReadAccessor(self).ReadAsync(self, new TimeoutOffer(timeout, cancelToken))); }