public void Dispose() { _cancellationToken?.Cancel(false); _cancellationToken?.Dispose(); _lowLevelClient?.Dispose(); }
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 void Dispose() { _lowLevelClient?.Dispose(); }