code: 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,
  		},
  	}
  }
docs: // NewStreamFlowController gets a new flow controller for a stream