perf: don't use string concat when calculing SeenEven hash
Profiler was complaining about this one
This commit is contained in:
@@ -18,11 +18,16 @@ struct QueuedRequest {
|
|||||||
let relay: String
|
let relay: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct SeenEvent: Hashable {
|
||||||
|
let relay_id: String
|
||||||
|
let evid: String
|
||||||
|
}
|
||||||
|
|
||||||
class RelayPool {
|
class RelayPool {
|
||||||
var relays: [Relay] = []
|
var relays: [Relay] = []
|
||||||
var handlers: [RelayHandler] = []
|
var handlers: [RelayHandler] = []
|
||||||
var request_queue: [QueuedRequest] = []
|
var request_queue: [QueuedRequest] = []
|
||||||
var seen: Set<String> = Set()
|
var seen: Set<SeenEvent> = Set()
|
||||||
var counts: [String: UInt64] = [:]
|
var counts: [String: UInt64] = [:]
|
||||||
|
|
||||||
private let network_monitor = NWPathMonitor()
|
private let network_monitor = NWPathMonitor()
|
||||||
@@ -233,7 +238,7 @@ class RelayPool {
|
|||||||
func record_seen(relay_id: String, event: NostrConnectionEvent) {
|
func record_seen(relay_id: String, event: NostrConnectionEvent) {
|
||||||
if case .nostr_event(let ev) = event {
|
if case .nostr_event(let ev) = event {
|
||||||
if case .event(_, let nev) = ev {
|
if case .event(_, let nev) = ev {
|
||||||
let k = relay_id + nev.id
|
let k = SeenEvent(relay_id: relay_id, evid: nev.id)
|
||||||
if !seen.contains(k) {
|
if !seen.contains(k) {
|
||||||
seen.insert(k)
|
seen.insert(k)
|
||||||
if counts[relay_id] == nil {
|
if counts[relay_id] == nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user