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)