New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

abstract-socket

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

abstract-socket

Abstract domain socket support for Node

  • 2.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5K
increased by7.71%
Maintainers
1
Weekly downloads
 
Created
Source

node-abstractsocket

Because I like my sockets like my Picasso paintings: abstract.

NPM

Abstract what?

Go read this: http://man7.org/linux/man-pages/man7/unix.7.html, I'll wait.

Examples

Server:

// abstract echo server
const abs = require('./lib/abstract_socket');

const server = abs.createServer(function(c) { //'connection' listener
  console.log('client connected');
  c.on('end', function() {
    console.log('client disconnected');
  });
  c.write('hello\r\n');
  c.pipe(c);
});
server.listen('\0foo');

Client:

const abs = require('./lib/abstract_socket');

var client = abs.connect('\0foo', function() { //'connect' listener
    console.log('client connected');
});

client.on('data', function(data) {
    console.log(data.toString());
});

process.stdin.setEncoding('utf8');
process.stdin.on('readable', function() {
    const chunk = process.stdin.read();
    if (chunk !== null)
        client.write(chunk);
});

API

abs.createServer(connectionListener)

Returns a new AbstractSocketServer object. listen can be called on it passing the name of the abstract socket to bind to and listen, it follows the API used for normal Unix domain sockets. NOTE: you must prepend the path with the NULL byte ('\0') to indicate it's an abstract socket.

Emits an error if the socket(2) system call fails.

AbstractSocketServer.listen(name, [callback]

Binds the server to the specified abstract socket name.

Emits an error if the bind(2) system call fails, or the given name is invalid.

This function is asynchronous. When the server has been bound, 'listening' event will be emitted. the last parameter callback will be added as an listener for the 'listening' event.

abs.connect(name, connectListener)

Creates a connection to the given path in the abstract domain. NOTE: you must prepend the path with the NULL byte ('\0') to indicate it's an abstract socket.

Returns a new net.Socket object.

Emits an error if the socket(2) or connect(2) system calls fail, or the given name is invalid.

Tests

Run tests with npm test.

Thanks

I borrowed massive amounts of inspiration/code from node-unix-dgram by @bnoordhuis :-)

@mmalecki taught me how to inherit like a pro. @randunel refactored it heavily in v2.

FAQs

Package last updated on 15 Nov 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc