Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnectionFlowController ¶
type ConnectionFlowController interface {
// for sending
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, queueWindowUpdate func(), rttStats *congestion.RTTStats, logger utils.Logger, ) ConnectionFlowController
NewConnectionFlowController gets a new flow controller for the connection It is created before we receive the peer's transport paramenters, thus it starts with a sendWindow of 0.
type StreamFlowController ¶
type StreamFlowController interface {
// for sending
IsBlocked() (bool, protocol.ByteCount)
// for receiving
// UpdateHighestReceived should be 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 RST_STREAM frame
UpdateHighestReceived(offset protocol.ByteCount, final bool) error
// contains filtered or unexported methods
}
A StreamFlowController is a flow controller for a QUIC stream.
func NewStreamFlowController ¶
func NewStreamFlowController( streamID protocol.StreamID, contributesToConnection bool, cfc ConnectionFlowController, receiveWindow protocol.ByteCount, maxReceiveWindow protocol.ByteCount, initialSendWindow protocol.ByteCount, queueWindowUpdate func(protocol.StreamID), rttStats *congestion.RTTStats, logger utils.Logger, ) StreamFlowController
NewStreamFlowController gets a new flow controller for a stream
Click to show internal directories.
Click to hide internal directories.