Skip to content

Commit c8cec38

Browse files
alexhancockDaleSeo
andauthored
Update crates/rmcp/src/transport/common/client_side_sse.rs
Co-authored-by: Dale Seo <5466341+DaleSeo@users.noreply.github.com>
1 parent f7c920f commit c8cec38

1 file changed

Lines changed: 4 additions & 11 deletions

File tree

crates/rmcp/src/transport/common/client_side_sse.rs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -258,19 +258,12 @@ where
258258
// Per SEP-1699, a graceful stream close is
259259
// reconnectable. If the server sent a `retry` field
260260
// we MUST wait that long before reconnecting.
261-
if let Some(interval) = this.server_retry_interval.take() {
261+
let interval = this.server_retry_interval.take()
262+
.or_else(|| this.retry_policy.retry(0));
263+
if let Some(interval) = interval {
262264
tracing::debug!(
263265
?interval,
264-
"sse stream ended gracefully, waiting server retry interval before reconnecting"
265-
);
266-
SseAutoReconnectStreamState::WaitingNextRetry {
267-
sleep: tokio::time::sleep(interval),
268-
retry_times: 0,
269-
}
270-
} else if let Some(interval) = this.retry_policy.retry(0) {
271-
tracing::debug!(
272-
?interval,
273-
"sse stream ended gracefully, reconnecting with policy interval"
266+
"sse stream ended gracefully, reconnecting"
274267
);
275268
SseAutoReconnectStreamState::WaitingNextRetry {
276269
sleep: tokio::time::sleep(interval),

0 commit comments

Comments
 (0)