fix: close stream adaptive gaps and switch notify to stario v0.1.1
- make stream fast path honor adaptive soft payload limits end-to-end - split oversized fast-stream payloads into sequential frames before batching - use adaptive soft cap when encoding stream batch payloads - move timeout-like error detection into production code for adaptive tx - tune notify FrameReader read size explicitly to avoid throughput regression - drop local stario replace and depend on released b612.me/stario v0.1.1
This commit is contained in:
@@ -72,6 +72,23 @@ func (c *ClientConn) readTUMessageLoop(rt *clientConnSessionRuntime) {
|
||||
conn := rt.tuConn
|
||||
generation := rt.transportGeneration
|
||||
defer closeClientConnSessionRuntimeTransportDone(rt)
|
||||
if conn != nil && !isPacketTransportConn(conn) {
|
||||
reader := newTransportFrameReader(conn, nil)
|
||||
for {
|
||||
select {
|
||||
case <-sessionStopChan(stopCtx):
|
||||
if c.shouldCloseClientConnTransportOnStop(conn) {
|
||||
_ = conn.Close()
|
||||
}
|
||||
return
|
||||
default:
|
||||
}
|
||||
payload, release, err := c.readTUTransportPayloadPooled(conn, reader)
|
||||
if !c.handleTUTransportPayloadReadResultWithSessionPooled(stopCtx, conn, generation, payload, release, err) {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
buf := streamReadBuffer()
|
||||
for {
|
||||
select {
|
||||
|
||||
Reference in New Issue
Block a user