def _handle_frame()

in src/dubbo/remoting/aio/http2/controllers.py [0:0]


    def _handle_frame(self, frame: UserActionFrames):
        listener = self._stream.listener
        # match the frame type
        frame_type = frame.frame_type
        if frame_type == Http2FrameType.HEADERS:
            listener.on_headers(frame.headers, frame.end_stream)
        elif frame_type == Http2FrameType.DATA:
            listener.on_data(frame.data, frame.end_stream)
        elif frame_type == Http2FrameType.RST_STREAM:
            listener.cancel_by_remote(frame.error_code)
        else:
            _LOGGER.warning("unprocessed frame type: %s", frame_type)

        # acknowledge the frame
        self.ack_frame(frame)