| 'use strict'; | |
| const common = require('../common'); | |
| const { PassThrough } = require('stream'); | |
| const encode = new PassThrough({ | |
| highWaterMark: 1 | |
| }); | |
| const decode = new PassThrough({ | |
| highWaterMark: 1 | |
| }); | |
| const send = common.mustCall((buf) => { | |
| encode.write(buf); | |
| }, 4); | |
| let i = 0; | |
| const onData = common.mustCall(() => { | |
| if (++i === 2) { | |
| send(Buffer.from([0x3])); | |
| send(Buffer.from([0x4])); | |
| } | |
| }, 4); | |
| encode.pipe(decode).on('data', onData); | |
| send(Buffer.from([0x1])); | |
| send(Buffer.from([0x2])); |