in src/main/resources/static/components/session/AxtMessage.ts [82:112]
export function encodeMessage(message: AxtMessage): ByteBuffer {
const len1 = message.channelId.length
const len2 = message.instanceId.length
const len3 = message.payLoad.byteLength
const total = 30 + len1 + len2 + len3
let buffer: ByteBuffer = ByteBuffer.allocate(total, true)
buffer.littleEndian = true
buffer.writeInt32(message.msgType)
buffer.writeString(message.version)
buffer.writeUint8(len1)
if (len1 > 0) {
buffer.writeString(message.channelId)
}
buffer.writeUint8(len2)
if (len2 > 0) {
buffer.writeString(message.instanceId)
}
buffer.writeLong(message.timestamp.toNumber())
buffer.writeUint32(message.inputSeq)
buffer.writeUint32(message.outputSeq)
buffer.writeUint16(message.msgLength)
buffer.writeUint8(message.encoding)
buffer.writeUint8(message.reserved)
buffer.append(message.payLoad)
return buffer
}