in src/dubbo/remoting/aio/http2/controllers.py [0:0]
def write_data(self, stream: Http2Stream, frame: DataFrame, event: Optional[asyncio.Event]) -> None:
if stream.local_closed:
EventHelper.set(event)
_LOGGER.warning("Stream %s is closed locally, ignoring the data frame.", stream.id)
return
item = self._stream_dict.get(stream.id)
if item:
# Extend the data if the stream item exists
item.data.extend(frame.data)
item.end_stream = frame.end_stream
# update the event
EventHelper.set(item.event)
item.event = event
else:
# Create a new stream item
item = RemoteFlowController.Item(stream, bytearray(frame.data), frame.end_stream, event)
self._stream_dict[stream.id] = item
self._outbound_queue.put_nowait(stream.id)