private void OnDeviceDiscovered(object sender, DeviceEventArgs e) { try { _logger?.Log(LogSender, $"Device discovered, DeviceName={e.Device?.Name ?? "N/A"}"); if (_deviceFilter.IsWantedDevice(e.Device)) { _logger?.Log(LogSender, $"Wanted device found, DeviceName={e.Device?.Name ?? "N/A"}"); _observer.OnNext(e.Device); if (_stopAfterFirstResult) { _logger?.Log(LogSender, "Completing search"); _searchCancellation.Cancel(); } } } catch (Exception ex) { _logger?.Log(LogSender, $"Exception while discovering device: {ex}"); } }