/// <summary> /// Sends one-way message. /// </summary> /// <typeparam name="TInput">The type of the message.</typeparam> /// <param name="input">The message to send.</param> /// <param name="token">The token that can be used to cancel the operation.</param> /// <returns>The task representing asynchronous execution of this method.</returns> /// <exception cref="InvalidOperationException">Attempts to send message to local or unavailable endpoint.</exception> /// <exception cref="OperationCanceledException">The operation has been canceled.</exception> public Task SendSignalAsync <TInput>(TInput input, CancellationToken token = default) { Task result; try { result = channel.SendSignalAsync(CreateMessage <TInput>(input), token); } catch (Exception e) { result = Task.FromException(e); } return(result); }