Skip to content

Commit 41a4317

Browse files
use applyItIf in reliable_channel
1 parent ec6a02d commit 41a4317

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

channels/reliable_channel.nim

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -144,21 +144,21 @@ proc onMessageSent(self: ReliableChannel, messagingReqId: RequestId) =
144144
## the matching `InFlight` segment to `Confirmed` and prunes. The
145145
## listener routes every event through here; entries that don't
146146
## belong to this channel simply don't match and are no-ops.
147-
for i in 0 ..< self.pendingMessagingRequests.len:
148-
if self.pendingMessagingRequests[i].segmentSendState == SegmentSendState.InFlight and
149-
self.pendingMessagingRequests[i].messagingReqId == some(messagingReqId):
150-
self.pendingMessagingRequests[i].segmentSendState = SegmentSendState.Confirmed
151-
self.pruneCompletedChannelReqs()
152-
return
147+
self.pendingMessagingRequests.applyItIf(
148+
it.segmentSendState == SegmentSendState.InFlight and
149+
it.messagingReqId == some(messagingReqId)
150+
):
151+
it.segmentSendState = SegmentSendState.Confirmed
152+
self.pruneCompletedChannelReqs()
153153

154154
proc onMessageError(self: ReliableChannel, messagingReqId: RequestId) =
155155
## Symmetric to `onMessageSent` but for `MessageErrorEvent`.
156-
for i in 0 ..< self.pendingMessagingRequests.len:
157-
if self.pendingMessagingRequests[i].segmentSendState == SegmentSendState.InFlight and
158-
self.pendingMessagingRequests[i].messagingReqId == some(messagingReqId):
159-
self.pendingMessagingRequests[i].segmentSendState = SegmentSendState.Failed
160-
self.pruneCompletedChannelReqs()
161-
return
156+
self.pendingMessagingRequests.applyItIf(
157+
it.segmentSendState == SegmentSendState.InFlight and
158+
it.messagingReqId == some(messagingReqId)
159+
):
160+
it.segmentSendState = SegmentSendState.Failed
161+
self.pruneCompletedChannelReqs()
162162

163163
proc onReadyToSend(
164164
self: ReliableChannel, msgs: seq[seq[byte]]

waku/node/delivery_service/send_service/send_service.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ logScope:
2626
# This useful util is missing from sequtils, this extends applyIt with predicate...
2727
template applyItIf*(varSeq, pred, op: untyped) =
2828
for i in low(varSeq) .. high(varSeq):
29-
let it {.inject.} = varSeq[i]
29+
var it {.inject.} = varSeq[i]
3030
if pred:
3131
op
3232
varSeq[i] = it

0 commit comments

Comments
 (0)