Skip to content

Commit 88bb627

Browse files
authored
[router] change grpc client from mutable to clone (#11394)
1 parent b520958 commit 88bb627

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

sgl-router/src/core/worker.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ impl Worker for BasicWorker {
554554
return Ok(false);
555555
};
556556

557-
let mut client = grpc_client.lock().await;
557+
let client = grpc_client.lock().await;
558558
match time::timeout(timeout, client.health_check()).await {
559559
Ok(Ok(resp)) => {
560560
tracing::debug!(

sgl-router/src/grpc_client/sglang_scheduler.rs

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::convert::TryFrom;
22
use std::time::Duration;
3-
use tonic::{transport::Channel, Request};
3+
use tonic::{transport::Channel, Request, Streaming};
44
use tracing::debug;
55

66
use crate::protocols::spec::{
@@ -54,18 +54,18 @@ impl SglangSchedulerClient {
5454

5555
/// Submit a generation request (returns streaming response)
5656
pub async fn generate(
57-
&mut self,
57+
&self,
5858
req: proto::GenerateRequest,
59-
) -> Result<tonic::Streaming<proto::GenerateResponse>, Box<dyn std::error::Error + Send + Sync>>
60-
{
59+
) -> Result<Streaming<proto::GenerateResponse>, Box<dyn std::error::Error + Send + Sync>> {
60+
let mut client = self.client.clone();
6161
let request = Request::new(req);
62-
let response = self.client.generate(request).await?;
62+
let response = client.generate(request).await?;
6363
Ok(response.into_inner())
6464
}
6565

6666
/// Perform health check
6767
pub async fn health_check(
68-
&mut self,
68+
&self,
6969
) -> Result<proto::HealthCheckResponse, Box<dyn std::error::Error + Send + Sync>> {
7070
debug!("Sending health check request");
7171
let request = Request::new(proto::HealthCheckRequest {
@@ -75,43 +75,47 @@ impl SglangSchedulerClient {
7575
}),
7676
});
7777

78-
let response = self.client.health_check(request).await?;
78+
let mut client = self.client.clone();
79+
let response = client.health_check(request).await?;
7980
debug!("Health check response received");
8081
Ok(response.into_inner())
8182
}
8283

8384
/// Abort a request
8485
pub async fn abort_request(
85-
&mut self,
86+
&self,
8687
request_id: String,
8788
reason: String,
8889
) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
8990
let request = Request::new(proto::AbortRequest { request_id, reason });
9091

91-
self.client.abort(request).await?;
92+
let mut client = self.client.clone();
93+
client.abort(request).await?;
9294
Ok(())
9395
}
9496

9597
/// Get model information
9698
pub async fn get_model_info(
97-
&mut self,
99+
&self,
98100
) -> Result<proto::GetModelInfoResponse, Box<dyn std::error::Error + Send + Sync>> {
99101
debug!("Requesting model info");
100102
let request = Request::new(proto::GetModelInfoRequest {});
101103

102-
let response = self.client.get_model_info(request).await?;
104+
let mut client = self.client.clone();
105+
let response = client.get_model_info(request).await?;
103106
debug!("Model info response received");
104107
Ok(response.into_inner())
105108
}
106109

107110
/// Get server information
108111
pub async fn get_server_info(
109-
&mut self,
112+
&self,
110113
) -> Result<proto::GetServerInfoResponse, Box<dyn std::error::Error + Send + Sync>> {
111114
debug!("Requesting server info");
112115
let request = Request::new(proto::GetServerInfoRequest {});
113116

114-
let response = self.client.get_server_info(request).await?;
117+
let mut client = self.client.clone();
118+
let response = client.get_server_info(request).await?;
115119
debug!("Server info response received");
116120
Ok(response.into_inner())
117121
}

0 commit comments

Comments
 (0)