flowcontrol

package
v0.47.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 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 {
	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

Jump to

Keyboard shortcuts

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