Source File
interface.go
Belonging Package
github.com/quic-go/quic-go/internal/flowcontrol
package flowcontrolimport ()type flowController interface {// for sendingSendWindowSize() protocol.ByteCountUpdateSendWindow(protocol.ByteCount) (updated bool)AddBytesSent(protocol.ByteCount)// for receivingGetWindowUpdate(monotime.Time) protocol.ByteCount // returns 0 if no update is necessary}// A StreamFlowController is a flow controller for a QUIC stream.type StreamFlowController interface {flowControllerAddBytesRead(protocol.ByteCount) (hasStreamWindowUpdate, hasConnWindowUpdate 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 frameUpdateHighestReceived(offset protocol.ByteCount, final bool, now monotime.Time) 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}// The ConnectionFlowController is the flow controller for the connection.type ConnectionFlowController interface {flowControllerAddBytesRead(protocol.ByteCount) (hasWindowUpdate bool)Reset() errorIsNewlyBlocked() (bool, protocol.ByteCount)}type connectionFlowControllerI interface {ConnectionFlowController// The following two methods are not supposed to be called from outside this packet, but are needed internally// for sendingEnsureMinimumWindowSize(protocol.ByteCount, monotime.Time)// for receivingIncrementHighestReceived(protocol.ByteCount, monotime.Time) error}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |