QuicDataInbound::send 此前用异步 send 等待 channel 容量,消费端 (QUIC endpoint 驱动)处理不过来时,256 容量的 channel 一满就 阻塞整条接收循环,所有对端的入站流量被头部阻塞。 改为 try_send:满则丢包并告警(IP 包语义下可接受),关闭才报错。 测试:test_send_drops_when_channel_full(满时不阻塞)、 test_send_errors_when_channel_closed(关闭后报错)。
QuicDataInbound::send 此前用异步 send 等待 channel 容量,消费端 (QUIC endpoint 驱动)处理不过来时,256 容量的 channel 一满就 阻塞整条接收循环,所有对端的入站流量被头部阻塞。 改为 try_send:满则丢包并告警(IP 包语义下可接受),关闭才报错。 测试:test_send_drops_when_channel_full(满时不阻塞)、 test_send_errors_when_channel_closed(关闭后报错)。