Gap fill with wrong seq num & not inflating correctly if end seq is 0 #83
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Found three minor issues.
One in
sequenceResetGap
, where the gap fill seq num was set withnewSeq
(should bestartGap
, because the seq num represents the start of the gap).Another issue is when the
endSeqNo
is0
. The existing code doesn't handle this scenario, and no gap fills are created. In this case, when the end seq no is 0, we should consider it as the latest seq num sent to the other peer (that's why I get it fromthis.sessionState.lastSentSeqNum()
, but let me know if this inaccurate).And the last issue is when we resend messages with zero messages retrieved from the store. In a situation where the only message sent to the other peer is
login
(seq num=1), for example, the store will be empty. But still, we have to generate a gap fill from1
to1
to respond to theResendRequest
message. The current code doesn't return anything (empty array of messages to be sent to peer).