From 55af920b52585af406805b2ebc2e8634eac28351 Mon Sep 17 00:00:00 2001 From: "Robert C. Martin" Date: Fri, 10 Feb 2023 14:24:49 -0600 Subject: [PATCH] Extracted connect-to-relay --- src/more_speech/nostr/protocol.clj | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/more_speech/nostr/protocol.clj b/src/more_speech/nostr/protocol.clj index 473cbdc..8e88d2e 100644 --- a/src/more_speech/nostr/protocol.clj +++ b/src/more_speech/nostr/protocol.clj @@ -60,17 +60,25 @@ (swap! config/websocket-backlog inc) (send-off events/event-agent handlers/handle-event message url))) +(defn connect-to-relay [relay] + (let [url (::ws-relay/url relay) + relay-config (get @relays url) + read-type (:read relay-config) + readable? (or (= read-type :read-all) + (= read-type :read-trusted) + (= read-type :read-web-of-trust)) + writeable? (:write relay-config) + should-connect? (or readable? writeable?) + open-relay (if should-connect? + (relay/open relay) + nil)] + (when (some? open-relay) + (swap! relays assoc-in [url :connection] open-relay)))) + (defn connect-to-relays [] (doseq [url (keys @relays)] - (let [relay (ws-relay/make url handle-relay-message) - relay-config (get @relays url) - should-connect? (or (:read relay-config) - (:write relay-config)) - open-relay (if should-connect? - (relay/open relay) - nil)] - (when (some? open-relay) - (swap! relays assoc-in [url :connection] open-relay)))) + (let [relay (ws-relay/make url handle-relay-message)] + (connect-to-relay relay))) (prn 'relay-connection-attempts-complete)) (defn request-contact-lists-from-relays [id]