11'use strict'
22
33const promisify = require ( 'promisify-es6' )
4+ const debug = require ( 'debug' )
45const OFFLINE_ERROR = require ( '../utils' ) . OFFLINE_ERROR
56const PeerId = require ( 'peer-id' )
67const PeerInfo = require ( 'peer-info' )
78const pull = require ( 'pull-stream/pull' )
8- const take = require ( 'pull-stream/throughs/take' )
99const Pushable = require ( 'pull-pushable' )
1010const ndjson = require ( 'pull-ndjson' )
1111
12+ const log = debug ( 'jsipfs:ping' )
13+ log . error = debug ( 'jsipfs:ping:error' )
14+
1215function getPacket ( msg ) {
1316 // Default msg
1417 const basePacket = { Success : false , Time : 0 , Text : '' }
@@ -21,9 +24,7 @@ module.exports = function ping (self) {
2124 return cb ( new Error ( OFFLINE_ERROR ) )
2225 }
2326
24- const source = Pushable ( function ( err ) {
25- console . log ( 'stream closed!' , err )
26- } )
27+ const source = Pushable ( )
2728
2829 const response = pull (
2930 source ,
@@ -42,30 +43,35 @@ module.exports = function ping (self) {
4243
4344 self . _libp2pNode . ping ( peer , ( err , p ) => {
4445 if ( err ) {
45- console . log ( 'ERROR' , err )
46- return source . abort ( err )
46+ log . error ( err )
47+ source . push ( getPacket ( { Text : err . toString ( ) } ) )
48+ return source . end ( err )
4749 }
50+
4851 let packetCount = 0
4952 let totalTime = 0
5053 source . push ( getPacket ( { Success : true , Text : `PING ${ peerId } ` } ) )
54+
5155 p . on ( 'ping' , ( time ) => {
52- console . log ( 'ON PING' )
5356 source . push ( getPacket ( { Success : true , Time : time } ) )
5457 totalTime += time
5558 packetCount ++
56- console . log ( packetCount , count )
5759 if ( packetCount >= count ) {
5860 const average = totalTime / count
5961 p . stop ( )
60- source . push ( getPacket ( { Success : false , Text : `Average latency: ${ average } ms` } ) )
62+ source . push ( getPacket ( { Success : true , Text : `Average latency: ${ average } ms` } ) )
6163 source . end ( )
6264 }
6365 } )
64- console . log ( 'Setup handler' )
66+
6567 p . on ( 'error' , ( err ) => {
66- console . log ( 'ERROR BATATA' , err )
67- source . abort ( err )
68+ log . error ( err )
69+ p . stop ( )
70+ source . push ( getPacket ( { Text : err . toString ( ) } ) )
71+ source . end ( err )
6872 } )
73+
74+ p . start ( )
6975 } )
7076
7177 cb ( null , response )
0 commit comments