quic-go: github.com/lucas-clemente/quic-go/internal/flowcontrol Index | Files

package flowcontrol

import "github.com/lucas-clemente/quic-go/internal/flowcontrol"

Index

Package Files

base_flow_controller.go connection_flow_controller.go interface.go stream_flow_controller.go

type ConnectionFlowController Uses

type ConnectionFlowController interface {
    // contains filtered or unexported methods
}

The ConnectionFlowController is the flow controller for the connection.

func NewConnectionFlowController Uses

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 Uses

type StreamFlowController interface {

    // 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 RESET_STREAM frame
    UpdateHighestReceived(offset protocol.ByteCount, final bool) error
    // Abandon should be 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 Uses

func NewStreamFlowController(
    streamID protocol.StreamID,
    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

Package flowcontrol imports 7 packages (graph) and is imported by 9 packages. Updated 2019-04-13. Refresh now. Tools for package owners.