mirror of
https://github.com/logos-messaging/js-waku.git
synced 2026-01-08 16:53:10 +00:00
chore: choose peers from the connected pool, instead of dialing them
This commit is contained in:
parent
a69d0c252a
commit
be9588d90e
@ -23,6 +23,12 @@ type GetPeersOptions = {
|
||||
maxBootstrapPeers: number;
|
||||
};
|
||||
|
||||
const DEFAULT_GET_PEERS_OPTIONS: GetPeersOptions = {
|
||||
prioritizeLatency: true,
|
||||
maxBootstrapPeers: 1,
|
||||
numPeers: 0
|
||||
};
|
||||
|
||||
/**
|
||||
* A class with predefined helpers, to be used as a base to implement Waku
|
||||
* Protocols.
|
||||
@ -90,11 +96,7 @@ export class BaseProtocol implements IBaseProtocolCore {
|
||||
* @returns A list of peers that support the protocol sorted by latency.
|
||||
*/
|
||||
public async getPeers(
|
||||
options: GetPeersOptions = {
|
||||
prioritizeLatency: true,
|
||||
maxBootstrapPeers: 1,
|
||||
numPeers: 0
|
||||
}
|
||||
options: GetPeersOptions = DEFAULT_GET_PEERS_OPTIONS
|
||||
): Promise<Peer[]> {
|
||||
const { maxBootstrapPeers, numPeers, prioritizeLatency } = options;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user