Lines Matching refs:session
37 * itself. If |stream_id| is -1, we use session->next_stream_id as
46 static int detect_self_dependency(nghttp2_session *session, int32_t stream_id,
51 if ((int32_t)session->next_stream_id == pri_spec->stream_id) {
67 static int32_t submit_headers_shared(nghttp2_session *session, uint8_t flags,
80 mem = &session->mem;
101 if (session->next_stream_id > INT32_MAX) {
106 stream_id = (int32_t)session->next_stream_id;
107 session->next_stream_id += 2;
120 rv = nghttp2_session_add_item(session, item);
142 static int32_t submit_headers_shared_nva(nghttp2_session *session,
153 mem = &session->mem;
167 return submit_headers_shared(session, flags, stream_id, ©_pri_spec,
171 int nghttp2_submit_trailer(nghttp2_session *session, int32_t stream_id,
177 return (int)submit_headers_shared_nva(session, NGHTTP2_FLAG_END_STREAM,
182 int32_t nghttp2_submit_headers(nghttp2_session *session, uint8_t flags,
190 if (session->server) {
200 session->remote_settings.no_rfc7540_priorities != 1) {
201 rv = detect_self_dependency(session, stream_id, pri_spec);
211 return submit_headers_shared_nva(session, flags, stream_id, pri_spec, nva,
215 int nghttp2_submit_ping(nghttp2_session *session, uint8_t flags,
218 return nghttp2_session_add_ping(session, flags, opaque_data);
221 int nghttp2_submit_priority(nghttp2_session *session, uint8_t flags,
231 mem = &session->mem;
233 if (session->remote_settings.no_rfc7540_priorities == 1) {
261 rv = nghttp2_session_add_item(session, item);
273 int nghttp2_submit_rst_stream(nghttp2_session *session, uint8_t flags,
281 return nghttp2_session_add_rst_stream(session, stream_id, error_code);
284 int nghttp2_submit_goaway(nghttp2_session *session, uint8_t flags,
289 if (session->goaway_flags & NGHTTP2_GOAWAY_TERM_ON_SEND) {
292 return nghttp2_session_add_goaway(session, last_stream_id, error_code,
297 int nghttp2_submit_shutdown_notice(nghttp2_session *session) {
298 if (!session->server) {
301 if (session->goaway_flags) {
304 return nghttp2_session_add_goaway(session, (1u << 31) - 1, NGHTTP2_NO_ERROR,
309 int nghttp2_submit_settings(nghttp2_session *session, uint8_t flags,
312 return nghttp2_session_add_settings(session, NGHTTP2_FLAG_NONE, iv, niv);
315 int32_t nghttp2_submit_push_promise(nghttp2_session *session, uint8_t flags,
328 mem = &session->mem;
330 if (stream_id <= 0 || nghttp2_session_is_my_stream_id(session, stream_id)) {
334 if (!session->server) {
339 if (session->next_stream_id > INT32_MAX) {
362 promised_stream_id = (int32_t)session->next_stream_id;
363 session->next_stream_id += 2;
368 rv = nghttp2_session_add_item(session, item);
380 int nghttp2_submit_window_update(nghttp2_session *session, uint8_t flags,
392 &session->local_window_size, &session->recv_window_size,
393 &session->recv_reduction, &window_size_increment);
398 stream = nghttp2_session_get_stream(session, stream_id);
413 session->consumed_size =
414 nghttp2_max(0, session->consumed_size - window_size_increment);
420 return nghttp2_session_add_window_update(session, 0, stream_id,
426 int nghttp2_session_set_local_window_size(nghttp2_session *session,
439 window_size_increment = window_size - session->local_window_size;
447 &session->local_window_size, &session->recv_window_size,
448 &session->recv_reduction, &window_size_increment);
452 &session->local_window_size, &session->recv_window_size,
453 &session->recv_reduction, &window_size_increment);
460 return nghttp2_session_add_window_update(session, 0, stream_id,
464 return nghttp2_session_update_recv_connection_window_size(session, 0);
466 stream = nghttp2_session_get_stream(session, stream_id);
493 return nghttp2_session_add_window_update(session, 0, stream_id,
497 return nghttp2_session_update_recv_stream_window_size(session, stream, 0,
502 int nghttp2_submit_altsvc(nghttp2_session *session, uint8_t flags,
516 mem = &session->mem;
518 if (!session->server) {
571 rv = nghttp2_session_add_item(session, item);
587 int nghttp2_submit_origin(nghttp2_session *session, uint8_t flags,
600 mem = &session->mem;
602 if (!session->server) {
654 rv = nghttp2_session_add_item(session, item);
670 int nghttp2_submit_priority_update(nghttp2_session *session, uint8_t flags,
682 mem = &session->mem;
684 if (session->server) {
688 if (session->remote_settings.no_rfc7540_priorities == 0) {
726 rv = nghttp2_session_add_item(session, item);
756 int32_t nghttp2_submit_request(nghttp2_session *session,
764 if (session->server) {
769 session->remote_settings.no_rfc7540_priorities != 1) {
770 rv = detect_self_dependency(session, -1, pri_spec);
780 return submit_headers_shared_nva(session, flags, -1, pri_spec, nva, nvlen,
792 int nghttp2_submit_response(nghttp2_session *session, int32_t stream_id,
801 if (!session->server) {
806 return submit_headers_shared_nva(session, flags, stream_id, NULL, nva, nvlen,
810 int nghttp2_submit_data(nghttp2_session *session, uint8_t flags,
820 mem = &session->mem;
842 rv = nghttp2_session_add_item(session, item);
865 int nghttp2_submit_extension(nghttp2_session *session, uint8_t type,
872 mem = &session->mem;
878 if (!session->callbacks.pack_extension_callback) {
892 rv = nghttp2_session_add_item(session, item);