in src/Azure.AppService.Tunnel/Tunnel/WebSockets/Outgoing/CompletableOutgoingMessage.cs [6:24]
internal class CompletableOutgoingMessage(IOutgoingMessage innerRequest) : IOutgoingMessage
{
public TaskCompletionSource<Unit> TaskCompletionSource { get; } =
new(TaskCreationOptions.RunContinuationsAsynchronously);
public bool SilentFailure => innerRequest.SilentFailure;
public async Task Execute()
{
try
{
await innerRequest.Execute();
}
finally
{
TaskCompletionSource.SetResult(Unit.Instance);
}
}
}