Skip to content

Commit d40ec18

Browse files
Dedicated method for getting the next seq from the buffer
1 parent b3a22b0 commit d40ec18

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/replit_river/message_buffer.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ def put(self, message: TransportMessage) -> None:
3737
raise MessageBufferClosedError("message buffer is closed")
3838
self.buffer.append(message)
3939

40+
def get_next_sent_seq(self) -> int | None:
41+
if self.buffer:
42+
return self.buffer[0].seq
43+
return None
44+
4045
async def peek(self) -> TransportMessage | None:
4146
"""Peek the first message in the buffer, returns None if the buffer is empty."""
4247
async with self._lock:

src/replit_river/session.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,7 @@ async def get_next_expected_seq(self) -> int:
185185

186186
async def get_next_sent_seq(self) -> int:
187187
"""Get the next sequence number that the client will send."""
188-
nextMessage = await self._buffer.peek()
189-
if nextMessage:
190-
return nextMessage.seq
191-
return self._seq_manager.get_seq()
188+
return self._buffer.get_next_sent_seq() or self._seq_manager.get_seq()
192189

193190
async def get_next_expected_ack(self) -> int:
194191
"""Get the next expected ack that the client expects."""

0 commit comments

Comments
 (0)