From c0df21229d4c79bc94dc85a43b798bf0676cb2f1 Mon Sep 17 00:00:00 2001 From: Michael Jurkoic Date: Sun, 14 Apr 2024 23:04:43 -0500 Subject: Take send out of try-catch The client::IWebSocketClient::send method should catch errors and return false if anything goes wrong. --- src/nostr_service.cpp | 53 ++++++++++++++++++++++----------------------------- 1 file changed, 23 insertions(+), 30 deletions(-) (limited to 'src/nostr_service.cpp') diff --git a/src/nostr_service.cpp b/src/nostr_service.cpp index 8af1e20..3dbff62 100644 --- a/src/nostr_service.cpp +++ b/src/nostr_service.cpp @@ -231,38 +231,31 @@ vector> NostrService::queryRelays(shared_ptr filters) promise> eosePromise; requestFutures.push_back(move(eosePromise.get_future())); - try { - auto [uri, success] = this->_client->send( - request, - relay, - [this, &relay, &events, &eosePromise](string payload) - { - this->onSubscriptionMessage( - payload, - [&events](const string&, shared_ptr event) - { - events.push_back(event); - }, - [relay, &eosePromise](const string&) - { - eosePromise.set_value(make_tuple(relay, true)); - }, - [relay, &eosePromise](const string&, const string&) - { - eosePromise.set_value(make_tuple(relay, false)); - }); - }); - - if (!success) + auto [uri, success] = this->_client->send( + request, + relay, + [this, &relay, &events, &eosePromise](string payload) { - PLOG_WARNING << "Failed to send query to relay: " << relay; - eosePromise.set_value(make_tuple(uri, false)); - } - } - catch (const exception& e) + this->onSubscriptionMessage( + payload, + [&events](const string&, shared_ptr event) + { + events.push_back(event); + }, + [relay, &eosePromise](const string&) + { + eosePromise.set_value(make_tuple(relay, true)); + }, + [relay, &eosePromise](const string&, const string&) + { + eosePromise.set_value(make_tuple(relay, false)); + }); + }); + + if (!success) { - PLOG_ERROR << "Failed to send query to " << relay << ": " << e.what(); - eosePromise.set_value(make_tuple(relay, false)); + PLOG_WARNING << "Failed to send query to relay: " << relay; + eosePromise.set_value(make_tuple(uri, false)); } } -- cgit