-
Notifications
You must be signed in to change notification settings - Fork 213
Open
Description
这是我在本地启动的一个volo-grpc server,端口50051,用brpc的c++client去调用,本地抓包分析来看:
- server配置如下:
......
#[derive(Clone, Default)]
struct HelloSvc;
impl hello_pb::HelloService for HelloSvc {
async fn hello(
&self,
req: Request<hello_pb::HelloRequest>,
) -> Result<Response<hello_pb::HelloReply>, Status> {
let name: &str = req.get_ref().name.as_ref();
let preview: String = name.chars().take(10).collect();
println!(
"Received Hello request: name length={}, preview='{}'",
name.chars().count(),
preview
);
let ok = is_valid_name(name);
Ok(Response::new(hello_pb::HelloReply { ok }))
}
}
fn is_valid_name(name: &str) -> bool {
!name.trim().is_empty()
}
#[volo::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
let addr: SocketAddr = "[::]:50051".parse()?;
let addr = Address::from(addr);
Server::new()
.http2_adaptive_window(true)
.http2_init_connection_window_size(1024u32 * 1024)
.http2_init_stream_window_size(1024u32 * 1024)
.http2_max_frame_size(1024u32 * 1024)
.http2_max_send_buf_size(1024usize * 1024)
.add_service(ServiceBuilder::new(hello_pb::HelloServiceServer::new(HelloSvc)).build())
.run(addr)
.await?;
Ok(())
}- 建立连接后,server向client发送一个No=4的报文,上面的WindowSize是65536
看着和server配置的http2_init_connection_window_size和http2_init_stream_window_size并不一样,想咨询下是我的用法有问题,还是volo-rpc框架不支持配置
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels