JSPM

  • Created
  • Published
  • Downloads 1431
  • Score
    100M100P100Q124306F
  • License MIT

Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection and interface-transport interfaces

Package Exports

  • libp2p-tcp

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (libp2p-tcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

js-libp2p-tcp

Build Status Dependency Status js-standard-style

Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection interface for dial/listen.

Description

libp2p-tcp in Node.js is a very thin shim that adds support for dialing to a multiaddr. This small shim will enable libp2p to use other different transports.

Example

const Tcp = require('libp2p-tcp')
const multiaddr = require('multiaddr')

const mh1 = multiaddr('/ip4/127.0.0.1/tcp/9090')
const mh2 = multiaddr('/ip6/::/tcp/9092')

const tcp = new Tcp()

tcp.createListener([mh1, mh2], function handler (socket) {
  console.log('connection')
  socket.end('bye')
}, function ready () {
  console.log('ready')

  const client = tcp.dial(mh1)
  client.pipe(process.stdout)
  client.on('end', () => {
    tcp.close()
  })
})

outputs

ready
connection
bye

Installation

npm

> npm i libp2p-tcp

API

const Tcp = require('libp2p-tcp')

var tcp = new Tcp()

Creates a new TCP object. This does nothing on its own, but provides access to dial and createListener.

tcp.createListener(multiaddrs, handler, ready)

Creates TCP servers that listen on the addresses described in the array multiaddrs. Each connection will call handler with a connection stream. ready is called once all servers are listening.

tcp.dial(multiaddr, options={})

Connects to the multiaddress multiaddr using TCP, returning the socket stream. If options.ready is set to a function, it is called when a connection is established.

tcp.close(callback)

Closes all the listening TCP servers, calling callback once all of them have been shut down.

License

MIT