forked from quic-go/quic-go
implement some stream ID helper functions
This commit is contained in:
@@ -3,6 +3,19 @@ package protocol
|
||||
// A StreamID in QUIC
|
||||
type StreamID uint64
|
||||
|
||||
// InitiatedBy says if the stream was initiated by the client or by the server
|
||||
func (s StreamID) InitiatedBy() Perspective {
|
||||
if s%2 == 0 {
|
||||
return PerspectiveClient
|
||||
}
|
||||
return PerspectiveServer
|
||||
}
|
||||
|
||||
// IsUniDirectional says if this is a unidirectional stream (true) or not (false)
|
||||
func (s StreamID) IsUniDirectional() bool {
|
||||
return s%4 >= 2
|
||||
}
|
||||
|
||||
// MaxBidiStreamID is the highest stream ID that the peer is allowed to open,
|
||||
// when it is allowed to open numStreams bidirectional streams.
|
||||
func MaxBidiStreamID(numStreams int, pers Perspective) StreamID {
|
||||
|
||||
Reference in New Issue
Block a user