Classify QUIC stream saturation

This commit is contained in:
2026-05-16 11:48:12 +03:00
parent 0f7caf5bb4
commit 8622ee71d7
4 changed files with 45 additions and 5 deletions
@@ -18,6 +18,13 @@ import (
const fabricQUICNextProto = "rap-fabric-data-session-v1"
const defaultQUICFabricConnIdleTTL = 5 * time.Minute
const defaultQUICFabricMaxStreamsPerConn = 64
const ErrQUICFabricStreamLimitReached = quicFabricError("quic fabric stream limit reached")
type quicFabricError string
func (e quicFabricError) Error() string {
return string(e)
}
type QUICFabricTransport struct {
Config *quic.Config
@@ -231,7 +238,7 @@ func (t *QUICFabricTransport) reserveStream(key string, conn *quic.Conn) error {
}
if entry.activeStreams >= limit {
t.stats.StreamLimitRejects++
return fmt.Errorf("quic fabric stream limit reached")
return ErrQUICFabricStreamLimitReached
}
entry.activeStreams++
entry.lastUsed = time.Now()