mirror of
https://github.com/HaishinKit/HaishinKit.swift.git
synced 2026-05-07 20:12:28 +00:00
34 lines
816 B
Swift
34 lines
816 B
Swift
import Foundation
|
|
|
|
public struct MoQTObject {
|
|
public let id: Int
|
|
public let status: Int?
|
|
public let data: Data
|
|
|
|
var payload: Data {
|
|
get throws {
|
|
var payload = MoQTPayload()
|
|
payload.putInt(id)
|
|
payload.putInt(data.count)
|
|
if let status {
|
|
payload.putInt(status)
|
|
}
|
|
payload.putData(data)
|
|
return payload.data
|
|
}
|
|
}
|
|
|
|
public init(id: Int, status: Int?, data: Data) {
|
|
self.id = id
|
|
self.status = status
|
|
self.data = data
|
|
}
|
|
|
|
init(_ payload: inout MoQTPayload) throws {
|
|
id = try payload.getInt()
|
|
let length = try payload.getInt()
|
|
status = length == 0 ? try payload.getInt() : nil
|
|
self.data = try payload.getData(length)
|
|
}
|
|
}
|