YamuxStream constructor

YamuxStream({
  1. required int id,
  2. required String protocol,
  3. required Map<String, dynamic>? metadata,
  4. required int initialWindowSize,
  5. required Future<void> sendFrame(
    1. YamuxFrame frame
    ),
  6. required Conn parentConn,
  7. String? logPrefix,
})

Implementation

YamuxStream({
  required int id,
  required String protocol,
  required Map<String, dynamic>? metadata,
  required int initialWindowSize, // This is the initial window for both sides
  required Future<void> Function(YamuxFrame frame) sendFrame,
  required Conn parentConn, // Added parameter
  String? logPrefix,
})  : streamId = id,
      streamProtocol = protocol,
      metadata = metadata ?? {},
      _localReceiveWindow = initialWindowSize,
      _remoteReceiveWindow = initialWindowSize, // Initially, we can send this much
      _sendFrame = sendFrame,
      _parentConn = parentConn, // Initialize field
      _logPrefix = logPrefix ?? "StreamID=$id" {
  _log.fine('$_logPrefix Constructor. Initial local window: $_localReceiveWindow, Initial remote window (our send): $_remoteReceiveWindow');
}