public CoapClient(CoapNetLogger logger) { _logger = logger; _lowLevelClient = new LowLevelCoapClient(_logger); _observationManager = new CoapClientObservationManager(_messageToResponseConverter, _lowLevelClient, _logger); }
public async Task ConnectAsync(CoapClientConnectOptions options, CancellationToken cancellationToken) { if (options is null) { throw new ArgumentNullException(nameof(options)); } _connectOptions = options; _lowLevelClient?.Dispose(); _lowLevelClient = new LowLevelCoapClient(_logger); await _lowLevelClient.ConnectAsync(options, cancellationToken).ConfigureAwait(false); _cancellationToken = new CancellationTokenSource(); ParallelTask.Run(() => ReceiveMessages(_cancellationToken.Token), _cancellationToken.Token); }
public CoapClientObservationManager(CoapMessageToResponseConverter messageToResponseConverter, LowLevelCoapClient client, CoapNetLogger logger) { _messageToResponseConverter = messageToResponseConverter ?? throw new ArgumentNullException(nameof(messageToResponseConverter)); _client = client ?? throw new ArgumentNullException(nameof(client)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }