public ValueTask DisposeAsync() { if (_disposed) { return(new ValueTask()); } _disposed = true; _listener.Close(); _listener.Dispose(); return(new ValueTask()); }