UNPKG

netconf-client

Version:
29 lines 899 B
// eslint-disable-next-line @typescript-eslint/no-magic-numbers const NETCONF_MAX_BUFFER_SIZE = 50 * 1024 * 1024; export const NETCONF_DELIM = ']]>]]>'; export class NetconfBuffer { buffer = Buffer.from(''); append(chunk) { if (this.buffer.length + chunk.length > NETCONF_MAX_BUFFER_SIZE) { return false; } this.buffer = Buffer.concat([this.buffer, chunk]); return true; } extract() { const pos = this.buffer.indexOf(NETCONF_DELIM); if (pos === -1) { return undefined; } const message = this.buffer.subarray(0, pos).toString(); this.buffer = this.buffer.subarray(pos + NETCONF_DELIM.length); return message; } clear() { this.buffer = Buffer.from(''); } toString() { return this.buffer.toString(); } } //# sourceMappingURL=netconf-buffer.js.map