public async Task StartListening(ReWorkServerRole role) { var cts = new CancellationTokenSource(); try { await _transportManager.StartListeningAsync(role, cts.Token); await AcceptClientsAsync(cts.Token); } finally { cts.Cancel(); await _transportManager.StopListeningAsync(); } }