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:
2026-04-18 16:05:57 +08:00
parent 4f760f2807
commit f038a89771
76 changed files with 12656 additions and 906 deletions
+6
View File
@@ -33,6 +33,7 @@ type ServerCommon struct {
defaultFastStreamEncode transportFastStreamEncoder
defaultFastBulkEncode transportFastBulkEncoder
defaultFastPlainEncode transportFastPlainEncoder
defaultModernPSKRuntime *modernPSKCodecRuntime
linkFns map[string]func(message *Message)
defaultFns func(message *Message)
noFinSyncMsgMaxKeepSeconds int64
@@ -47,6 +48,9 @@ type ServerCommon struct {
streamRuntime *streamRuntime
recordRuntime *recordRuntime
bulkRuntime *bulkRuntime
bulkOpenTuning BulkOpenTuning
bulkDedicatedSidecarMu sync.Mutex
bulkDedicatedSidecars map[*LogicalConn]map[uint32]*bulkDedicatedSidecar
connectionRetryState *connectionRetryState
detachedClientKeepSeconds int64
securityReadyCheck bool
@@ -81,6 +85,8 @@ func NewServer() Server {
server.streamRuntime = newStreamRuntime("sstrm")
server.recordRuntime = newRecordRuntime()
server.bulkRuntime = newBulkRuntime("sblk")
server.bulkOpenTuning = defaultBulkOpenTuning()
server.bulkDedicatedSidecars = make(map[*LogicalConn]map[uint32]*bulkDedicatedSidecar)
server.connectionRetryState = newConnectionRetryState()
server.onFileEvent = normalizeFileEventCallback(nil)
server.fileEventObserver = normalizeFileEventCallback(nil)