mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-04-29 04:22:14 +00:00
refactor: consolidation multiaddr dial methods
This commit is contained in:
parent
a37c5c0144
commit
c4be5f4aaf
@ -41,31 +41,18 @@ class Dialer {
|
||||
this.tokens = [...new Array(concurrency)].map((_, index) => index)
|
||||
}
|
||||
|
||||
/**
|
||||
* Connects to a given `Multiaddr`. `addr` should include the id of the peer being
|
||||
* dialed, it will be used for encryption verification.
|
||||
*
|
||||
* @param {Multiaddr} addr The address to dial
|
||||
* @param {object} [options]
|
||||
* @param {AbortSignal} [options.signal] An AbortController signal
|
||||
* @returns {Promise<Connection>}
|
||||
*/
|
||||
connectToMultiaddr (addr, options = {}) {
|
||||
addr = multiaddr(addr)
|
||||
|
||||
return this.connectToMultiaddrs([addr], options)
|
||||
}
|
||||
|
||||
/**
|
||||
* Connects to the first success of a given list of `Multiaddr`. `addrs` should
|
||||
* include the id of the peer being dialed, it will be used for encryption verification.
|
||||
*
|
||||
* @param {Array<Multiaddr>} addrs
|
||||
* @param {Array<Multiaddr>|Multiaddr} addrs
|
||||
* @param {object} [options]
|
||||
* @param {AbortSignal} [options.signal] An AbortController signal
|
||||
* @returns {Promise<Connection>}
|
||||
*/
|
||||
async connectToMultiaddrs (addrs, options = {}) {
|
||||
async connectToMultiaddr (addrs, options = {}) {
|
||||
if (!Array.isArray(addrs)) addrs = [multiaddr(addrs)]
|
||||
|
||||
const dialAction = (addr, options) => {
|
||||
if (options.signal.aborted) throw errCode(new Error('already aborted'), 'ERR_ALREADY_ABORTED')
|
||||
return this.transportManager.dial(addr, options)
|
||||
@ -112,7 +99,7 @@ class Dialer {
|
||||
|
||||
// TODO: ensure the peer id is on the multiaddr
|
||||
|
||||
return this.connectToMultiaddrs(addrs, options)
|
||||
return this.connectToMultiaddr(addrs, options)
|
||||
}
|
||||
|
||||
getTokens (num) {
|
||||
|
@ -165,7 +165,7 @@ describe('Dialing (direct, TCP)', () => {
|
||||
})
|
||||
|
||||
// Perform 3 multiaddr dials
|
||||
dialer.connectToMultiaddrs([remoteAddr, remoteAddr, remoteAddr])
|
||||
dialer.connectToMultiaddr([remoteAddr, remoteAddr, remoteAddr])
|
||||
|
||||
// Let the call stack run
|
||||
await delay(0)
|
||||
@ -252,7 +252,7 @@ describe('Dialing (direct, TCP)', () => {
|
||||
}
|
||||
})
|
||||
|
||||
sinon.spy(libp2p.dialer, 'connectToMultiaddrs')
|
||||
sinon.spy(libp2p.dialer, 'connectToMultiaddr')
|
||||
const remotePeer = new PeerInfo(remoteLibp2p.peerInfo.id)
|
||||
remotePeer.multiaddrs.add(remoteAddr)
|
||||
|
||||
@ -262,7 +262,7 @@ describe('Dialing (direct, TCP)', () => {
|
||||
expect(stream).to.exist()
|
||||
expect(protocol).to.equal('/echo/1.0.0')
|
||||
await connection.close()
|
||||
expect(libp2p.dialer.connectToMultiaddrs.callCount).to.equal(1)
|
||||
expect(libp2p.dialer.connectToMultiaddr.callCount).to.equal(1)
|
||||
})
|
||||
|
||||
it('should be able to use hangup to close connections', async () => {
|
||||
|
@ -153,7 +153,7 @@ describe('Dialing (direct, WebSockets)', () => {
|
||||
})
|
||||
|
||||
// Perform 3 multiaddr dials
|
||||
dialer.connectToMultiaddrs([remoteAddr, remoteAddr, remoteAddr])
|
||||
dialer.connectToMultiaddr([remoteAddr, remoteAddr, remoteAddr])
|
||||
|
||||
// Let the call stack run
|
||||
await delay(0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user