/// <summary> /// The default behavior of this method is to return AddAsyncListener(IAsyncListener listener, IServletRequest request, IServletResponse response) /// on the wrapped request object. /// </summary> /// <param name="listener"></param> /// <param name="request"></param> /// <param name="response"></param> public void AddAsyncListener(IAsyncListener listener, IServletRequest request, IServletResponse response) { request.AddAsyncListener(listener, request, response); }
/// <summary> /// The default behavior of this method is to return AddAsyncListener(IAsyncListener listener) /// on the wrapped request object. /// </summary> /// <param name="listener"></param> public void AddAsyncListener(IAsyncListener listener) { request.AddAsyncListener(listener); }
/// <summary> /// Notify the current listener of a new message to be handled. /// </summary> /// <typeparam name="T">The type of the message capable of being listened for and handled.</typeparam> /// <param name="listener">The current listener.</param> /// <param name="message">A message to be handled.</param> /// <returns>A task representing a possibly asynchronous operation.</returns> public static Task NotifyAsync <T>(this IAsyncListener <T> listener, T message) { return(listener.NotifyAsync(message, CancellationToken.None)); }
/// <summary> /// Synchronously notify the current listener of a new message to be handled. /// </summary> /// <typeparam name="T">The type of the message capable of being listened for and handled.</typeparam> /// <param name="listener">The current listener.</param> /// <param name="message">A message to be handled.</param> public static void Notify <T>(this IAsyncListener <T> listener, T message) { Task.Run(async() => await listener.NotifyAsync(message).ConfigureAwait(false)).Wait(); }