mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-06-26 15:31:34 +00:00
chore: address review
This commit is contained in:
committed by
Vasco Santos
parent
447d0ed0dd
commit
bb83cacb5a
20
src/record/utils.js
Normal file
20
src/record/utils.js
Normal 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
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user