volo-grpc server能支持配置自定义初始window size吗
- Dominant language
- Rust
- Stars
- 2.6k
- Forks
- 223
- Avg merge
- 18m
- Merged PRs (30d)
- 1
Description
这是我在本地启动的一个volo-grpc server,端口50051,用brpc的c++client去调用,本地抓包分析来看:
1. server配置如下:
```rust
......
#[derive(Clone, Default)]
struct HelloSvc;
impl hello_pb::HelloService for HelloSvc {
async fn hello(
&self,
req: Request,
) -> Result, 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> {
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(())
}
```
2. 建立连接后,server向client发送一个No=4的报文,上面的WindowSize是65536
看着和server配置的http2_init_connection_window_size和http2_init_stream_window_size并不一样,想咨询下是我的用法有问题,还是volo-rpc框架不支持配置
Contributor guide
Assessment
This issue has not been assessed yet.