Skip to content

Commit 5ae69f0

Browse files
chore: fix condition for ping failures
1 parent 5970e65 commit 5ae69f0

File tree

2 files changed

+1
-38
lines changed

2 files changed

+1
-38
lines changed

packages/sdk/src/protocols/filter/reliability_monitor.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export class ReceiverReliabilityMonitor {
123123
const failures = (this.peerFailures.get(peerId.toString()) || 0) + 1;
124124
this.peerFailures.set(peerId.toString(), failures);
125125

126-
if (failures > this.maxPingFailures) {
126+
if (failures >= this.maxPingFailures) {
127127
try {
128128
await this.renewAndSubscribePeer(peerId);
129129
this.peerFailures.delete(peerId.toString());

packages/tests/tests/filter/peer_management.spec.ts

-37
Original file line numberDiff line numberDiff line change
@@ -158,43 +158,6 @@ describe("Waku Filter: Peer Management: E2E", function () {
158158
).to.eq(false);
159159
});
160160

161-
it("Tracks peer failures correctly", async function () {
162-
const maxPingFailures = 3;
163-
const { error, subscription } = await waku.filter.subscribe(
164-
[decoder],
165-
() => {},
166-
undefined,
167-
{
168-
pingsBeforePeerRenewed: maxPingFailures
169-
}
170-
);
171-
if (error) {
172-
throw error;
173-
}
174-
175-
const targetPeer = waku.filter.connectedPeers[0];
176-
await waku.connectionManager.dropConnection(targetPeer.id);
177-
178-
for (let i = 0; i < maxPingFailures; i++) {
179-
await subscription.ping(targetPeer.id);
180-
}
181-
182-
// At this point, the peer should not be renewed yet
183-
expect(
184-
waku.filter.connectedPeers.some((peer) => peer.id.equals(targetPeer.id))
185-
).to.be.true;
186-
187-
// One more failure should trigger renewal
188-
await subscription.ping(targetPeer.id);
189-
190-
expect(
191-
waku.filter.connectedPeers.some((peer) => peer.id.equals(targetPeer.id))
192-
).to.be.false;
193-
expect(waku.filter.connectedPeers.length).to.equal(
194-
waku.filter.numPeersToUse
195-
);
196-
});
197-
198161
it("Maintains correct number of peers after multiple subscribe/unsubscribe cycles", async function () {
199162
let subscription: ISubscriptionSDK;
200163
for (let i = 0; i < 3; i++) {

0 commit comments

Comments
 (0)