ndb: switch to nostrdb notes

This is a refactor of the codebase to use a more memory-efficient
representation of notes. It should also be much faster at decoding since
we're using a custom C json parser now.

Changelog-Changed: Improved memory usage and performance when processing events
This commit is contained in:
William Casarin
2023-07-26 08:46:44 -07:00
parent 55bbe8f855
commit cebd1f48ca
110 changed files with 2153 additions and 1799 deletions

View File

@@ -9,21 +9,21 @@ import Foundation
struct LossyLocalNotification {
let type: LocalNotificationType
let event_id: String
let mention: MentionRef
func to_user_info() -> [AnyHashable: Any] {
return [
"type": self.type.rawValue,
"evid": self.event_id
"id": self.mention.bech32
]
}
static func from_user_info(user_info: [AnyHashable: Any]) -> LossyLocalNotification {
let target_id = user_info["evid"] as! String
let target_id = MentionRef.from_bech32(str: user_info["id"] as! String)!
let typestr = user_info["type"] as! String
let type = LocalNotificationType(rawValue: typestr)!
return LossyLocalNotification(type: type, event_id: target_id)
return LossyLocalNotification(type: type, mention: target_id)
}
}
@@ -34,7 +34,7 @@ struct LocalNotification {
let content: String
func to_lossy() -> LossyLocalNotification {
return LossyLocalNotification(type: self.type, event_id: self.target.id)
return LossyLocalNotification(type: self.type, mention: .note(self.target.id))
}
}