🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

bloxycrats

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bloxycrats

Converts a duplex stream to block stream

1.1.0
latest
Source
npm
Version published
Weekly downloads
6
Maintainers
1
Weekly downloads
 
Created
Source

Bloxycrats

This module transforms a duplex stream (e.g. TCP or TLS stream) into a block-oriented interface. The API has been inspired by Node's dgram API but is not 100% compatible.

Example

Server:

const net = require('net');
const Bloxy = require('bloxycrats');
net.createServer((socket) => {
	const connection = new Bloxy(socket);
	connection.send(Buffer.from('Hello world!'));
}).listen(1337);

Client:

const net = require('net');
const Bloxy = require('bloxycrats');
const connection = new Bloxy(net.connect({port: 1337}));
connection.on('message', (msg) => console.log(msg.toString()));

This may seem trivial. But Bloxycrats ensures that "Hello World" is always transferred in one block. It never happens that it gets split up into "Hello W" and "orld".

API

const Bloxy = require('bloxycrats');
const connection = new Bloxy(stream);

Convert the duplex stream stream into the block-oriented interface connection.

Method: send

connection.send(block).then(() => {...});

Sends block to the other side. The returned Promise resolves once all data is flushed. Please note: Back-pressure is not handled by this method. So please wait for the data to be flushed before sending the next block.

block is an instance of Buffer or an Array of Buffer that is concatenated before it goes on the wire.

Method: close

connection.close().then(() => {...});

Destroys the underlaying stream and resolved once the close event is fired or if the stream is already destroyed.

Event: message

connection.on('message', (block) => {...});

This event is raised, once a complete buffer has been received.

Events: close, end, error

connection.on('close', () => {...});
connection.on('end', () => {...});
connection.on('error', (err) => {...});

These events are forwarded from the underlaying stream.

Keywords

stream

FAQs

Package last updated on 24 Feb 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts