private async Task AcceptLoopAsync(CancellationToken cancellationToken) { try { var random = new Random(); while (!cancellationToken.IsCancellationRequested) { await Task.Delay(1000, cancellationToken); var(cap, address) = await _tcpConnector.AcceptAsync(cancellationToken); if (cap == null || address == null) { continue; } var(connection, serviceType) = await this.InternalAcceptAsync(cap, cancellationToken); if (connection == null || serviceType == null) { continue; } var result = new ConnectionControllerAcceptResult(connection, address); await this.GetAcceptedConnectionChannel(serviceType).Writer.WriteAsync(result); } } catch (OperationCanceledException e) { _logger.Debug(e); } catch (Exception e) { _logger.Error(e); } }