Skip to content

Commit 7e4025f

Browse files
Switch from active heartbeats to passive
1 parent d611f9d commit 7e4025f

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/replit_river/v2/session.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ def __init__(
162162
self.ack = 0
163163
self.seq = 0
164164

165-
self._start_heartbeat()
165+
# self._start_heartbeat()
166166
self._start_serve_responses()
167167
self._start_close_session_checker()
168168
self._start_buffered_message_sender()
@@ -675,6 +675,7 @@ async def block_until_connected() -> None:
675675
assert_incoming_seq_bookkeeping=assert_incoming_seq_bookkeeping,
676676
get_stream=lambda stream_id: self._streams.get(stream_id),
677677
close_stream=close_stream,
678+
send_message=self.send_message,
678679
)
679680
)
680681

@@ -1138,6 +1139,7 @@ async def _serve(
11381139
], # noqa: E501
11391140
get_stream: Callable[[str], Channel[Any] | None],
11401141
close_stream: Callable[[str], None],
1142+
send_message: SendMessage,
11411143
) -> None:
11421144
"""Serve messages from the websocket."""
11431145
reset_session_close_countdown()
@@ -1194,6 +1196,19 @@ async def _serve(
11941196

11951197
# Shortcut to avoid processing ack packets
11961198
if msg.controlFlags & ACK_BIT != 0:
1199+
await send_message(
1200+
stream_id="heartbeat",
1201+
# TODO: make this a message class
1202+
# See schema.py
1203+
payload={
1204+
"type": "ACK",
1205+
},
1206+
control_flags=ACK_BIT,
1207+
procedure_name=None,
1208+
service_name=None,
1209+
span=None,
1210+
)
1211+
11971212
continue
11981213

11991214
stream = get_stream(msg.streamId)

0 commit comments

Comments
 (0)