Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnectionFlowController ¶
type ConnectionFlowController interface { AddBytesRead(protocol.ByteCount) Reset() error IsNewlyBlocked() (bool, protocol.ByteCount) // contains filtered or unexported methods }
The ConnectionFlowController is the flow controller for the connection.
func NewConnectionFlowController ¶
func NewConnectionFlowController( receiveWindow protocol.ByteCount, maxReceiveWindow protocol.ByteCount, allowWindowIncrease func(size protocol.ByteCount) bool, rttStats *utils.RTTStats, logger utils.Logger, ) ConnectionFlowController
NewConnectionFlowController gets a new flow controller for the connection It is created before we receive the peer's transport parameters, thus it starts with a sendWindow of 0.
type StreamFlowController ¶
type StreamFlowController interface { AddBytesRead(protocol.ByteCount) (shouldQueueWindowUpdate bool) // UpdateHighestReceived is called when a new highest offset is received // final has to be to true if this is the final offset of the stream, // as contained in a STREAM frame with FIN bit, and the RESET_STREAM frame UpdateHighestReceived(offset protocol.ByteCount, final bool) error // Abandon is called when reading from the stream is aborted early, // and there won't be any further calls to AddBytesRead. Abandon() IsNewlyBlocked() bool // contains filtered or unexported methods }
A StreamFlowController is a flow controller for a QUIC stream.
func NewStreamFlowController ¶
func NewStreamFlowController( streamID protocol.StreamID, cfc ConnectionFlowController, receiveWindow protocol.ByteCount, maxReceiveWindow protocol.ByteCount, initialSendWindow protocol.ByteCount, rttStats *utils.RTTStats, logger utils.Logger, ) StreamFlowController
NewStreamFlowController gets a new flow controller for a stream
Click to show internal directories.
Click to hide internal directories.