nghttp2_session_callbacks_new
int nghttp2_session_callbacks_new
(nghttp2_session_callbacks* *callbacks_ptr)
- 当初始化多个 nghttp2_session对象, 可以使用初始化的对象,当应用程序使用这个对象完成时,可以使用 nghttp2_session_callbacks_del可以释放它的内存.
nghttp2_session_client_new
int nghttp2_session_client_new
(nghttp2_session* *session_ptr, const nghttp2_session_callbacks* callbacks, void* user_data)
- 初始化
*session_ptr
给客户端使用,回调的所有成员被复制到*session_ptr
,因此*session_ptr
不存储回调,user_data
是任意用户提供的数据,将被传递给回调函数.
nghttp2_submit_settings
int nghttp2_submit_settings
(nghttp2_session* session, uint8_t* flags*, const nghttp2_settings_entry* iv, size_t* niv*)
- 存储本地设置并提交设置的框架
- flags当前被忽略,应该是 NGHTTP2_FLAG_NONE
nghttp2_submit_request
int32_t nghttp2_submit_request
(nghttp2_session* session, const nghttp2_priority_spec* pri_spec, const nghttp2_nv* nva, size_t* nvlen*, const nghttp2_data_provider* data_prd, void* stream_user_data)
- 提交HEADERS帧和可选的一个或多个数据帧
nghttp2_session_callbacks_set_send_callback
void nghttp2_session_callbacks_set_send_callback
(nghttp2_session_callbacks* cbs, nghttp2_send_callback* send_callback*)
- 设置会话想要发送数据到远程时调用的回调函数
nghttp2_session_callbacks_set_recv_callback
void nghttp2_session_callbacks_set_recv_callback
(nghttp2_session_callbacks* cbs, nghttp2_recv_callback* recv_callback*)
- 当会话想要从远程接收数据时调用的回调函数
nghttp2_session_callbacks_set_on_data_chunk_recv_callback
void nghttp2_session_callbacks_set_on_data_chunk_recv_callback
(nghttp2_session_callbacks* cbs, nghttp2_on_data_chunk_recv_callback* on_data_chunk_recv_callback*)
- 设置在接收到数据帧中的大块数据时调用的回调函数
nghttp2_session_callbacks_set_on_header_callback
void nghttp2_session_callbacks_set_on_header_callback
(nghttp2_session_callbacks* cbs, nghttp2_on_header_callback* on_header_callback*)
- 设置收到 header name / value 时调用的回调函数
nghttp2_session_callbacks_set_on_stream_close_callback
void nghttp2_session_callbacks_set_on_stream_close_callback
(nghttp2_session_callbacks* cbs, nghttp2_on_stream_close_callback* on_stream_close_callback*)
- 设置流关闭时调用的回调函数
nghttp2_session_get_stream_user_data
void * nghttp2_session_get_stream_user_data
(nghttp2_session* session, int32_t* stream_id*)
- 返回
stream_id
的流的stream_user_data
,stream_user_data
由nghttp2_submit_request
,nghttp2_submit_headers
,nghttp2_session_set_stream_user_data
提供
nghttp2_submit_rst_stream
int nghttp2_submit_rst_stream
(nghttp2_session* session, uint8_t* flags*, int32_t* stream_id*, uint32_t* error_code*)
- 提交RST_STREAM帧以取消/拒绝错误代码为
error_code
的流stream_id
nghttp2_session_send
int nghttp2_session_send
(nghttp2_session* session)
- 将挂起的帧发送到远程peer