mirror of
https://github.com/HaishinKit/HaishinKit.swift.git
synced 2026-05-07 20:12:28 +00:00
29 lines
836 B
Swift
29 lines
836 B
Swift
import Foundation
|
|
import Logboard
|
|
|
|
/// 6.21. ANNOUNCE
|
|
public struct MoQTAnnounce: MoQTControlMessage {
|
|
public let type = MoQTMessageType.announce
|
|
public let trackNamespace: [String]
|
|
public let subscribeParameters: [MoQTVersionSpecificParameter]
|
|
|
|
public var payload: Data {
|
|
get throws {
|
|
var payload = MoQTPayload()
|
|
payload.putInt(trackNamespace.count)
|
|
for namespace in trackNamespace {
|
|
payload.putString(namespace)
|
|
}
|
|
payload.putInt(subscribeParameters.count)
|
|
for parameter in subscribeParameters {
|
|
do {
|
|
payload.putData(try parameter.payload)
|
|
} catch {
|
|
logger.info(error)
|
|
}
|
|
}
|
|
return payload.data
|
|
}
|
|
}
|
|
}
|