Пример #1
0
        public CoapClient(CoapNetLogger logger)
        {
            _logger = logger;

            _lowLevelClient     = new LowLevelCoapClient(_logger);
            _observationManager = new CoapClientObservationManager(_messageToResponseConverter, _lowLevelClient, _logger);
        }
Пример #2
0
        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);
        }
Пример #3
0
 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));
 }