createBaichuanEncodeStream(): TransformStream<BaichuanMessage, Uint8Array>
Creates a TransformStream that writes each message as header, body and payload, in one chunk per message.
The header is written as given: bodyLength is not recomputed. Build
requests with createMessage from @hertzg/reolink-api/protocol/message
to get it right.
Encode a subscribe request
Encode a subscribe request
import { assertEquals } from "@std/assert"; import { createMessage } from "@hertzg/reolink-api/protocol/message"; import { createBaichuanEncodeStream } from "@hertzg/reolink-api/streams/encode"; const [bytes] = await Array.fromAsync( ReadableStream.from([ createMessage({ cmdId: 31, channelId: 251, messageId: 3 }), ]).pipeThrough(createBaichuanEncodeStream()), ); assertEquals(bytes.length, 24);
A TransformStream from messages to bytes.