named-pipes

node v16.18.0
version: 2.0.5
endpointsharetweet
const { createNamedPipe } = require('@kldzj/named-pipes'); // You may also name the pipe yourself, // or even pass a writable absolute path. const pipe = createNamedPipe(/* '/var/cool.sock', 0o640 */); console.log('Path to socket:', pipe.path); const sender = pipe.createSender(); const receiver = pipe.createReceiver(); // sender.connect() will create the pipe await sender.connect(); // receiver.connect() will fail if the pipe does not exist await receiver.connect(); // handle data receiver.on('data', (c) => console.log(c.toString())); // or pipe it somewhere // receiver.getReadableStream().pipe(someDestinationStream); // Sender might not be ready yet, // wait for socket to be connected await new Promise(resolve => { sender.once('connected', () => { // use the convenience write method sender.write('hello world', resolve); // or create a writable stream and pipe to it // someSourceStream.pipe(sender.getWritableStream()); }); }); // destroy sender first to force write buffered chunks // you might not need to do this if you're // only using either a sender or reader await sender.destroy(); // once you're done, destroy the pipe await pipe.destroy();
Loading…

no comments

    sign in to comment