mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-25 20:02:30 +00:00
after many solo-bikeshedding, figured out that I could make it way simpler
This commit is contained in:
parent
f23ca14556
commit
470d8bfc6a
44
src/index.js
44
src/index.js
@ -1,46 +1,10 @@
|
|||||||
var tcp = require('net')
|
var tcp = require('net')
|
||||||
var async = require('async')
|
|
||||||
|
|
||||||
exports = module.exports
|
exports = module.exports
|
||||||
|
|
||||||
exports.dial = function (peerInfo, callback) {
|
exports.dial = function (multiaddr, options) {
|
||||||
var socket
|
options.ready = options.ready || function noop () {}
|
||||||
async.eachSeries(peerInfo.multiaddrs, function (multiaddr, next) {
|
return tcp.connect(multiaddr.toOptions(), options.ready)
|
||||||
if (!multiaddr.protoNames().indexOf('tcp')) {
|
|
||||||
return next()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (socket) {
|
|
||||||
return next()
|
|
||||||
}
|
|
||||||
|
|
||||||
var tmp = tcp.connect(multiaddr.toOptions(), function connected () {
|
|
||||||
socket = tmp
|
|
||||||
next()
|
|
||||||
})
|
|
||||||
|
|
||||||
tmp.once('error', function (err) {
|
|
||||||
console.log(multiaddr.toString(), 'on',
|
|
||||||
peerInfo.id.toB58String(), 'not available', err)
|
|
||||||
next()
|
|
||||||
})
|
|
||||||
}, function done () {
|
|
||||||
if (!socket) {
|
|
||||||
return callback(new Error('Not able to open a scoket with peer - ',
|
|
||||||
peerInfo.id.toB58String()))
|
|
||||||
}
|
|
||||||
callback(null, socket)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.listen = function (options, callback, readyCallback) {
|
exports.createListener = tcp.createServer
|
||||||
options.port = options.port || 4001
|
|
||||||
|
|
||||||
var listener = tcp.createServer(function (socket) {
|
|
||||||
callback(null, socket)
|
|
||||||
})
|
|
||||||
|
|
||||||
listener.listen(options.port, readyCallback)
|
|
||||||
|
|
||||||
return listener
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user