optimized id matching function
doesn't need to create a copy of the id Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
committed by
Daniel D’Aquino
parent
5b1f0c4714
commit
208b3331ca
@@ -59,7 +59,7 @@ func insert_uniq_sorted_event(events: inout [NostrEvent], new_ev: NostrEvent, cm
|
|||||||
|
|
||||||
for event in events {
|
for event in events {
|
||||||
// don't insert duplicate events
|
// don't insert duplicate events
|
||||||
if new_ev.id == event.id {
|
if new_ev.id_matches(other: event) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,6 +106,14 @@ class NdbNote: Codable, Equatable, Hashable {
|
|||||||
var id: NoteId {
|
var id: NoteId {
|
||||||
.init(Data(bytes: ndb_note_id(note), count: 32))
|
.init(Data(bytes: ndb_note_id(note), count: 32))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var raw_note_id: UnsafeMutablePointer<UInt8> {
|
||||||
|
ndb_note_id(note.ptr)
|
||||||
|
}
|
||||||
|
|
||||||
|
func id_matches(other: NdbNote) -> Bool {
|
||||||
|
memcmp(self.raw_note_id, other.raw_note_id, 32) == 0
|
||||||
|
}
|
||||||
|
|
||||||
var sig: Signature {
|
var sig: Signature {
|
||||||
.init(Data(bytes: ndb_note_sig(note), count: 64))
|
.init(Data(bytes: ndb_note_sig(note), count: 64))
|
||||||
|
|||||||
Reference in New Issue
Block a user