* feat: add ios and rn source * fix(ios): remove testing keys * fix(tracker): change default path
42 lines
1.1 KiB
Swift
42 lines
1.1 KiB
Swift
import UIKit
|
|
|
|
struct GenericMessage {
|
|
let typeRaw: UInt64
|
|
let type: ORMessageType?
|
|
let timestamp: UInt64
|
|
let body: Data
|
|
|
|
init?(data: Data, offset: inout Int) {
|
|
do {
|
|
typeRaw = try data.readPrimary(offset: &offset)
|
|
type = ORMessageType(rawValue: typeRaw)
|
|
timestamp = try data.readPrimary(offset: &offset)
|
|
body = try data.readData(offset: &offset)
|
|
} catch {
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
|
|
class ORMessage: NSObject {
|
|
|
|
let messageRaw: UInt64
|
|
let message: ORMessageType?
|
|
let timestamp: UInt64
|
|
|
|
init(messageType: ORMessageType) {
|
|
self.messageRaw = messageType.rawValue
|
|
self.message = messageType
|
|
self.timestamp = UInt64(Date().timeIntervalSince1970 * 1000)
|
|
}
|
|
|
|
init?(genericMessage: GenericMessage) {
|
|
self.messageRaw = genericMessage.typeRaw
|
|
self.message = genericMessage.type
|
|
self.timestamp = genericMessage.timestamp
|
|
}
|
|
|
|
func contentData() -> Data {
|
|
fatalError("This method should be overridden")
|
|
}
|
|
}
|