Skip to content

Commit

Permalink
chore: fix condition for ping failures
Browse files Browse the repository at this point in the history
  • Loading branch information
danisharora099 committed Sep 12, 2024
1 parent 5970e65 commit 5ae69f0
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 38 deletions.
2 changes: 1 addition & 1 deletion packages/sdk/src/protocols/filter/reliability_monitor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ export class ReceiverReliabilityMonitor {
const failures = (this.peerFailures.get(peerId.toString()) || 0) + 1;
this.peerFailures.set(peerId.toString(), failures);

if (failures > this.maxPingFailures) {
if (failures >= this.maxPingFailures) {
try {
await this.renewAndSubscribePeer(peerId);
this.peerFailures.delete(peerId.toString());
Expand Down
37 changes: 0 additions & 37 deletions packages/tests/tests/filter/peer_management.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -158,43 +158,6 @@ describe("Waku Filter: Peer Management: E2E", function () {
).to.eq(false);
});

it("Tracks peer failures correctly", async function () {
const maxPingFailures = 3;
const { error, subscription } = await waku.filter.subscribe(
[decoder],
() => {},
undefined,
{
pingsBeforePeerRenewed: maxPingFailures
}
);
if (error) {
throw error;
}

const targetPeer = waku.filter.connectedPeers[0];
await waku.connectionManager.dropConnection(targetPeer.id);

for (let i = 0; i < maxPingFailures; i++) {
await subscription.ping(targetPeer.id);
}

// At this point, the peer should not be renewed yet
expect(
waku.filter.connectedPeers.some((peer) => peer.id.equals(targetPeer.id))
).to.be.true;

// One more failure should trigger renewal
await subscription.ping(targetPeer.id);

expect(
waku.filter.connectedPeers.some((peer) => peer.id.equals(targetPeer.id))
).to.be.false;
expect(waku.filter.connectedPeers.length).to.equal(
waku.filter.numPeersToUse
);
});

it("Maintains correct number of peers after multiple subscribe/unsubscribe cycles", async function () {
let subscription: ISubscriptionSDK;
for (let i = 0; i < 3; i++) {
Expand Down

0 comments on commit 5ae69f0

Please sign in to comment.