ocd refactor in load_profiles

This commit is contained in:
William Casarin
2023-01-06 10:23:39 -08:00
parent e7d32d9ea7
commit 04e4bc7985

View File

@@ -112,27 +112,30 @@ func load_profiles(profiles_subid: String, relay_id: String, events: [NostrEvent
let authors = find_profiles_to_fetch(profiles: damus_state.profiles, events: events) let authors = find_profiles_to_fetch(profiles: damus_state.profiles, events: events)
filter.authors = authors filter.authors = authors
if !authors.isEmpty { guard !authors.isEmpty else {
print("loading \(authors.count) profiles from \(relay_id)") return
damus_state.pool.subscribe_to(sub_id: profiles_subid, filters: [filter], to: [relay_id]) { sub_id, conn_ev in }
let (sid, done) = handle_subid_event(pool: damus_state.pool, relay_id: relay_id, ev: conn_ev) { sub_id, ev in
guard sub_id == profiles_subid else { print("loading \(authors.count) profiles from \(relay_id)")
return
} damus_state.pool.subscribe_to(sub_id: profiles_subid, filters: [filter], to: [relay_id]) { sub_id, conn_ev in
let (sid, done) = handle_subid_event(pool: damus_state.pool, relay_id: relay_id, ev: conn_ev) { sub_id, ev in
if ev.known_kind == .metadata { guard sub_id == profiles_subid else {
process_metadata_event(profiles: damus_state.profiles, ev: ev)
}
}
guard done && sid == profiles_subid else {
return return
} }
print("done loading \(authors.count) profiles from \(relay_id)") if ev.known_kind == .metadata {
damus_state.pool.unsubscribe(sub_id: profiles_subid, to: [relay_id]) process_metadata_event(profiles: damus_state.profiles, ev: ev)
}
} }
guard done && sid == profiles_subid else {
return
}
print("done loading \(authors.count) profiles from \(relay_id)")
damus_state.pool.unsubscribe(sub_id: profiles_subid, to: [relay_id])
} }
} }