@@ -642,6 +642,7 @@ async def serve_dual_era_loop(
642642 lifespan_state = lifespan_state ,
643643 raise_exceptions = raise_exceptions ,
644644 close_write_stream_on_read_close = close_write_stream_on_read_close ,
645+ read_eof_drain_timeout_seconds = read_eof_drain_timeout_seconds ,
645646 )
646647 else :
647648 await _serve_legacy_stream (
@@ -653,6 +654,7 @@ async def serve_dual_era_loop(
653654 init_options = init_options ,
654655 raise_exceptions = raise_exceptions ,
655656 close_write_stream_on_read_close = close_write_stream_on_read_close ,
657+ read_eof_drain_timeout_seconds = read_eof_drain_timeout_seconds ,
656658 )
657659 finally :
658660 await write_stream .aclose ()
@@ -736,6 +738,7 @@ async def _serve_legacy_stream(
736738 init_options : InitializationOptions | None ,
737739 raise_exceptions : bool ,
738740 close_write_stream_on_read_close : bool ,
741+ read_eof_drain_timeout_seconds : float | None ,
739742) -> None :
740743 """Serve a 2025 handshake connection; enveloped requests are refused."""
741744 dispatcher : JSONRPCDispatcher [TransportContext ] = JSONRPCDispatcher (
@@ -775,13 +778,15 @@ async def _serve_modern_stream(
775778 lifespan_state : LifespanT ,
776779 raise_exceptions : bool ,
777780 close_write_stream_on_read_close : bool ,
781+ read_eof_drain_timeout_seconds : float | None ,
778782) -> None :
779783 """Serve a 2026-07-28 connection: every request carries its own envelope."""
780784 dispatcher : JSONRPCDispatcher [TransportContext ] = JSONRPCDispatcher (
781785 read_stream ,
782786 write_stream ,
783787 raise_handler_exceptions = raise_exceptions ,
784788 close_write_stream_on_read_close = close_write_stream_on_read_close ,
789+ read_eof_drain_timeout_seconds = read_eof_drain_timeout_seconds ,
785790 )
786791 outbound = NotifyOnlyOutbound (dispatcher )
787792
0 commit comments