UNPKG

node-opcua-transport

Version:

pure nodejs OPCUA SDK - module transport

78 lines (76 loc) 2.57 kB
/** * @module node-opcua-transport */ import { EventEmitter } from "node:events"; import { BinaryStream } from "node-opcua-binary-stream"; import { SequenceHeader } from "node-opcua-chunkmanager"; import { type MessageHeader, type PacketInfo } from "node-opcua-packet-assembler"; import type { StatusCode } from "node-opcua-status-code"; export declare function readRawMessageHeader(data: Buffer): PacketInfo; export interface MessageBuilderBaseOptions { signatureLength?: number; maxMessageSize?: number; maxChunkCount?: number; maxChunkSize?: number; } export interface MessageBuilderBaseEvents { /** * notify the observers that a new message is being built * @event startChunk */ startChunk: [info: PacketInfo, data: Buffer]; /** * notify the observers that new message chunk has been received * @event chunk */ chunk: [chunk: Buffer]; /** * notify the observers that an error has occurred * @event error */ error: [err: Error, statusCode: StatusCode, requestId: number | null]; /** * notify the observers that a full message has been received * @event full_message_body */ full_message_body: [fullMessageBody: Buffer]; /** * notify the observers that a request has been abandoned * @event abandon */ abandon: [requestId: number]; } /** * */ export declare class MessageBuilderBase extends EventEmitter { #private; static defaultMaxChunkCount: number; static defaultMaxMessageSize: number; static defaultMaxChunkSize: number; readonly signatureLength: number; readonly maxMessageSize: number; readonly maxChunkCount: number; readonly maxChunkSize: number; readonly options: MessageBuilderBaseOptions; channelId: number; totalMessageSize: number; sequenceHeader: SequenceHeader | null; _tick0: number; _tick1: number; protected id: string; protected totalBodySize: number; protected messageChunks: Buffer[]; protected messageHeader?: MessageHeader; constructor(options?: MessageBuilderBaseOptions); dispose(): void; /** * Feed message builder with some data * @param data */ feed(data: Buffer): void; protected _decodeMessageBody(_fullMessageBody: Buffer): boolean; protected _read_headers(binaryStream: BinaryStream): boolean; protected _report_abandon(_channelId: number, _tokenId: number, sequenceHeader: SequenceHeader): false; protected _report_error(statusCode: StatusCode, errorMessage: string): false; }