def write_data()

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)