chore: choose peers from the connected pool, instead of dialing them

This commit is contained in:
Danish Arora 2024-08-06 13:31:53 +07:00
parent 69b6612ec9
commit 9a5e3f3286
No known key found for this signature in database
GPG Key ID: 1C6EF37CDAE1426E

View File

@ -198,11 +198,6 @@ export class BaseProtocolSDK implements IBaseProtocolSDK {
this.log.info(`Finding and adding ${numPeers} new peers`);
try {
const additionalPeers = await this.findAdditionalPeers(numPeers);
const dials = additionalPeers.map((peer) =>
this.connectionManager.attemptDial(peer.id)
);
await Promise.all(dials);
const updatedPeers = [...this.peers, ...additionalPeers];
this.updatePeers(updatedPeers);
@ -227,10 +222,17 @@ export class BaseProtocolSDK implements IBaseProtocolSDK {
private async findAdditionalPeers(numPeers: number): Promise<Peer[]> {
this.log.info(`Finding ${numPeers} additional peers`);
try {
let newPeers = await this.core.allPeers();
let newPeers = await this.core.getPeers({
maxBootstrapPeers: 0,
numPeers: 0
});
if (newPeers.length === 0) {
this.log.warn("No new peers found.");
this.log.warn("No new peers found, trying with bootstrap peers");
newPeers = await this.core.getPeers({
maxBootstrapPeers: numPeers,
numPeers: 0
});
}
newPeers = newPeers