// NewStreamFlowController gets a new flow controller for a stream
NewStreamFlowController gets a new flow controller for a stream
// NewStreamFlowController gets a new flow controller for a stream
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 {
	return &streamFlowController{
		streamID:          streamID,
		connection:        cfc.(connectionFlowControllerI),
		queueWindowUpdate: func() { queueWindowUpdate(streamID) },
		baseFlowController: baseFlowController{
			rttStats:             rttStats,
			receiveWindow:        receiveWindow,
			receiveWindowSize:    receiveWindow,
			maxReceiveWindowSize: maxReceiveWindow,
			sendWindow:           initialSendWindow,
			logger:               logger,
		},
	}
}
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 { return & streamFlowController { streamID : streamID , connection : cfc . ( connectionFlowControllerI ) , queueWindowUpdate : func ( ) { queueWindowUpdate ( streamID ) } , baseFlowController : baseFlowController { rttStats : rttStats , receiveWindow : receiveWindow , receiveWindowSize : receiveWindow , maxReceiveWindowSize : maxReceiveWindow , sendWindow : initialSendWindow , logger : logger , } , } }
NewStreamFlowController gets a new flow controller for a stream
NewStreamFlowController gets a new flow controller for a stream