flowcontrol

package
v0.0.0-...-edd52d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnectionFlowController

type ConnectionFlowController interface {
	Reset() error
	// 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(),
	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 {

	// 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()
	// 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,
	queueWindowUpdate func(protocol.StreamID),
	rttStats *utils.RTTStats,
	logger utils.Logger,
) StreamFlowController

NewStreamFlowController gets a new flow controller for a stream

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL