public Task ShutdownOutputAsync()
{
var tcs = new TaskCompletionSource();
var loop = EventLoop;
if (loop.InEventLoop)
{
ShutdownOutput0(tcs);
}
else
{
loop.Execute(promise => ShutdownOutput0((TaskCompletionSource) promise), tcs);
}
return tcs.Task;
}