Callback function invoked by Session.recv when a frame
is received. The |user_data| pointer is the third argument passed
in to the call to http2_session_client_new() or
http2_session_server_new().
If frame is HEADERS or PUSH_PROMISE, the `nva`
member of their data structure are always `NULL` and 0
respectively. The header fields are emitted via
onFrameHeader.
For HEADERS, PUSH_PROMISE and DATA frames, this callback may be
called after stream is closed (see Connector.onStreamExit).
Only HEADERS and DATA frame can signal the end of incoming data.
If `frame.hd.flags & FrameFlags.END_STREAM` is nonzero, the
|frame| is the last frame from the remote peer in this stream.
This callback won't be called for CONTINUATION frames.
HEADERS/PUSH_PROMISE + CONTINUATIONs are treated as single frame.
Callback function invoked by Session.recv when a frame is received. The |user_data| pointer is the third argument passed in to the call to http2_session_client_new() or http2_session_server_new().
If frame is HEADERS or PUSH_PROMISE, the `nva` member of their data structure are always `NULL` and 0 respectively. The header fields are emitted via onFrameHeader.
For HEADERS, PUSH_PROMISE and DATA frames, this callback may be called after stream is closed (see Connector.onStreamExit).
Only HEADERS and DATA frame can signal the end of incoming data. If `frame.hd.flags & FrameFlags.END_STREAM` is nonzero, the |frame| is the last frame from the remote peer in this stream.
This callback won't be called for CONTINUATION frames. HEADERS/PUSH_PROMISE + CONTINUATIONs are treated as single frame.
If false value is returned, it is treated as fatal error and Session.recv and Session.memRecv functions immediately return ErrorCode.CALLBACK_FAILURE.