Classify QUIC stream saturation
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user