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
+29
View File
@@ -83,6 +83,12 @@ func TestDefaultConstructorsUseModernTransportAfterSetSecretKey(t *testing.T) {
sharedKey := []byte("0123456789abcdef0123456789abcdef")
client.SetSecretKey(sharedKey)
server.SetSecretKey(sharedKey)
if client.modernPSKRuntime == nil {
t.Fatal("client modernPSKRuntime should be installed after SetSecretKey")
}
if server.defaultModernPSKRuntime == nil {
t.Fatal("server defaultModernPSKRuntime should be installed after SetSecretKey")
}
plain := []byte("notify default modern transport")
wire := client.msgEn(client.SecretKey, plain)
@@ -92,6 +98,29 @@ func TestDefaultConstructorsUseModernTransportAfterSetSecretKey(t *testing.T) {
}
}
func TestCustomCodecOverridesClearModernRuntime(t *testing.T) {
client := NewClient().(*ClientCommon)
server := NewServer().(*ServerCommon)
sharedKey := []byte("0123456789abcdef0123456789abcdef")
client.SetSecretKey(sharedKey)
server.SetSecretKey(sharedKey)
if client.modernPSKRuntime == nil || server.defaultModernPSKRuntime == nil {
t.Fatal("modern runtimes should be installed before override")
}
client.SetMsgEn(defaultMsgEn)
client.SetMsgDe(defaultMsgDe)
server.SetDefaultCommEncode(defaultMsgEn)
server.SetDefaultCommDecode(defaultMsgDe)
if client.modernPSKRuntime != nil {
t.Fatal("client modernPSKRuntime should be cleared after custom codec override")
}
if server.defaultModernPSKRuntime != nil {
t.Fatal("server defaultModernPSKRuntime should be cleared after custom codec override")
}
}
func TestDefaultConstructorsDecodeSignalEnvelopeWithModernTransport(t *testing.T) {
client := NewClient().(*ClientCommon)
server := NewServer().(*ServerCommon)