chore: address review

This commit is contained in:
Vasco Santos
2020-09-24 12:49:48 +02:00
committed by Vasco Santos
parent 447d0ed0dd
commit bb83cacb5a
5 changed files with 67 additions and 60 deletions

20
src/record/utils.js Normal file
View File

@ -0,0 +1,20 @@
'use strict'
const Envelope = require('./envelope')
const PeerRecord = require('./peer-record')
/**
* Create (or update if existing) self peer record and store it in the AddressBook.
* @param {libp2p} libp2p
* @returns {Promise<void>}
*/
async function updateSelfPeerRecord (libp2p) {
const peerRecord = new PeerRecord({
peerId: libp2p.peerId,
multiaddrs: libp2p.multiaddrs
})
const envelope = await Envelope.seal(peerRecord, libp2p.peerId)
libp2p.peerStore.addressBook.consumePeerRecord(envelope)
}
module.exports.updateSelfPeerRecord = updateSelfPeerRecord

View File

@ -7,8 +7,7 @@ const debug = require('debug')
const log = debug('libp2p:transports')
log.error = debug('libp2p:transports:error')
const Envelope = require('./record/envelope')
const PeerRecord = require('./record/peer-record')
const { updateSelfPeerRecord } = require('./record/utils')
class TransportManager {
/**
@ -164,8 +163,8 @@ class TransportManager {
this._listeners.get(key).push(listener)
// Track listen/close events
listener.on('listening', () => this._createSelfPeerRecord())
listener.on('close', () => this._createSelfPeerRecord())
listener.on('listening', () => updateSelfPeerRecord(this.libp2p))
listener.on('close', () => updateSelfPeerRecord(this.libp2p))
// We need to attempt to listen on everything
tasks.push(listener.listen(addr))
@ -235,26 +234,6 @@ class TransportManager {
await Promise.all(tasks)
}
/**
* Create self signed peer record raw envelope.
* @return {Uint8Array}
*/
async _createSelfPeerRecord () {
try {
const peerRecord = new PeerRecord({
peerId: this.libp2p.peerId,
multiaddrs: this.libp2p.multiaddrs
})
const envelope = await Envelope.seal(peerRecord, this.libp2p.peerId)
this.libp2p.peerStore.addressBook.consumePeerRecord(envelope)
return this.libp2p.peerStore.addressBook.getRawEnvelope(this.libp2p.peerId)
} catch (err) {
log.error('failed to get self peer record')
}
return null
}
}
/**