Lines Matching refs:frame
71 const nghttp2_frame *frame;
208 const nghttp2_frame *frame, void *user_data) {
213 ud->recv_frame_type = frame->hd.type;
214 ud->recv_frame_hd = frame->hd;
220 const nghttp2_frame *frame,
224 (void)frame;
232 const nghttp2_frame *frame, void *user_data) {
237 ud->sent_frame_type = frame->hd.type;
242 const nghttp2_frame *frame, int lib_error,
248 ud->not_sent_frame_type = frame->hd.type;
254 const nghttp2_frame *frame,
258 (void)frame;
294 const nghttp2_frame *frame,
299 return (ssize_t)nghttp2_min(max_payloadlen, frame->hd.length + ud->padlen);
424 static int send_data_callback(nghttp2_session *session, nghttp2_frame *frame,
434 if (frame->data.padlen) {
435 *(acc->buf + acc->length++) = (uint8_t)(frame->data.padlen - 1);
440 if (frame->data.padlen) {
441 acc->length += frame->data.padlen - 1;
464 const nghttp2_frame *frame, const uint8_t *name,
477 ud->frame = frame;
482 const nghttp2_frame *frame,
486 on_header_callback(session, frame, name, namelen, value, valuelen, flags,
492 nghttp2_session *session, const nghttp2_frame *frame, const uint8_t *name,
495 on_header_callback(session, frame, name, namelen, value, valuelen, flags,
501 const nghttp2_frame *frame,
515 ud->frame = frame;
520 const nghttp2_frame *frame,
525 on_invalid_header_callback(session, frame, name, namelen, value, valuelen,
531 const nghttp2_frame *frame,
536 on_invalid_header_callback(session, frame, name, namelen, value, valuelen,
542 const nghttp2_frame *frame,
546 (void)frame;
553 nghttp2_session *session, const nghttp2_frame *frame, void *user_data) {
554 on_begin_headers_callback(session, frame, user_data);
597 size_t len, const nghttp2_frame *frame,
599 nghttp2_buf *p = frame->ext.payload;
676 nghttp2_frame frame;
701 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
703 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
716 nghttp2_frame_headers_free(&frame.headers, mem);
730 nghttp2_frame_priority_init(&frame.priority, 5, &pri_spec_default);
732 nghttp2_frame_pack_priority(&bufs, &frame.priority);
734 nghttp2_frame_priority_free(&frame.priority);
750 /* Some tests for frame too large */
754 nghttp2_frame_ping_init(&frame.ping, NGHTTP2_FLAG_NONE, NULL);
756 nghttp2_frame_pack_ping(&bufs, &frame.ping);
765 (uint32_t)(((frame.hd.length + 16) << 8) + bufs.cur->buf.pos[3]));
767 nghttp2_frame_ping_free(&frame.ping);
778 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
779 CU_ASSERT(NGHTTP2_FRAME_SIZE_ERROR == item->frame.goaway.error_code);
792 nghttp2_frame frame;
813 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 2,
815 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
821 nghttp2_frame_headers_free(&frame.headers, mem);
837 nghttp2_frame frame;
858 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
860 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
881 nghttp2_frame_headers_free(&frame.headers, mem);
920 /* Create DATA frame with length 4KiB */
938 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
984 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
985 CU_ASSERT(1 == item->frame.window_update.hd.stream_id);
1000 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
1001 CU_ASSERT(0 == item->frame.window_update.hd.stream_id);
1019 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
1020 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
1055 WINDOW_UDPATE frame, recv_window_size should not be decreased */
1109 /* Create DATA frame with length 4KiB + 11 bytes padding*/
1239 nghttp2_frame frame;
1266 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_NONE, 1,
1268 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1277 nghttp2_frame_headers_free(&frame.headers, mem);
1328 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_NONE, 1,
1332 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1336 nghttp2_frame_headers_free(&frame.headers, mem);
1378 /* Expecting CONTINUATION, but get the other frame */
1386 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_NONE, 1,
1389 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1394 nghttp2_frame_headers_free(&frame.headers, mem);
1406 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
1409 nghttp2_frame_pack_priority(&bufs, &frame.priority);
1422 nghttp2_session_get_next_ob_item(session)->frame.hd.type);
1434 nghttp2_frame frame;
1463 nghttp2_frame_headers_init(&frame.headers,
1467 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1472 nghttp2_frame_headers_free(&frame.headers, mem);
1498 nghttp2_frame_headers_init(&frame.headers,
1502 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1507 nghttp2_frame_headers_free(&frame.headers, mem);
1527 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
1528 CU_ASSERT(NGHTTP2_FRAME_SIZE_ERROR == item->frame.goaway.error_code);
1545 nghttp2_frame_headers_init(&frame.headers,
1549 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1554 nghttp2_frame_headers_free(&frame.headers, mem);
1572 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
1573 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
1629 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
1664 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
1697 nghttp2_frame frame;
1714 nghttp2_frame_headers_init(&frame.headers,
1718 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1722 nghttp2_frame_headers_free(&frame.headers, mem);
1755 nghttp2_frame frame;
1781 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
1784 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1789 nghttp2_frame_headers_free(&frame.headers, mem);
1840 nghttp2_frame frame;
1871 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
1874 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1879 nghttp2_frame_headers_free(&frame.headers, mem);
1909 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
1912 rv = nghttp2_frame_pack_push_promise(&bufs, &frame.push_promise, &deflater);
1917 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
1944 nghttp2_frame frame;
1963 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 2,
1966 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
1971 nghttp2_frame_headers_free(&frame.headers, mem);
2023 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
2024 CU_ASSERT(NGHTTP2_COMPRESSION_ERROR == item->frame.rst_stream.error_code);
2025 CU_ASSERT(1 == item->frame.hd.stream_id);
2055 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
2056 CU_ASSERT(NGHTTP2_COMPRESSION_ERROR == item->frame.rst_stream.error_code);
2057 CU_ASSERT(2 == item->frame.hd.stream_id);
2086 /* Unknown frame must be ignored */
2129 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
2137 nghttp2_frame frame;
2161 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 2),
2164 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
2169 nghttp2_frame_settings_free(&frame.settings, mem);
2196 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 3),
2199 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
2204 nghttp2_frame_settings_free(&frame.settings, mem);
2238 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 3),
2241 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
2246 nghttp2_frame_settings_free(&frame.settings, mem);
2281 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 3),
2284 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
2289 nghttp2_frame_settings_free(&frame.settings, mem);
2318 /* Initial max frame size is NGHTTP2_MAX_FRAME_SIZE_MIN */
2333 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
2466 /* size of origin is larger than frame length */
2553 /* send large frame (16KiB) */
2578 /* send too large frame */
2636 nghttp2_extension frame;
2643 frame.payload = &origin;
2657 nghttp2_frame_origin_init(&frame, &ov, 1);
2659 rv = nghttp2_frame_pack_origin(&bufs, &frame);
2679 nghttp2_frame_origin_init(&frame, &ov, 1);
2680 rv = nghttp2_frame_pack_origin(&bufs, &frame);
2697 /* A frame should be ignored if it is sent to a stream other than
2701 nghttp2_frame_origin_init(&frame, &ov, 1);
2702 frame.hd.stream_id = 1;
2703 rv = nghttp2_frame_pack_origin(&bufs, &frame);
2717 /* A frame should be ignored if the reserved flag is set */
2720 nghttp2_frame_origin_init(&frame, &ov, 1);
2721 frame.hd.flags = 0xf0;
2722 rv = nghttp2_frame_pack_origin(&bufs, &frame);
2736 /* A frame should be ignored if it is received by a server. */
2739 nghttp2_frame_origin_init(&frame, &ov, 1);
2740 rv = nghttp2_frame_pack_origin(&bufs, &frame);
2754 /* Receiving empty ORIGIN frame */
2757 nghttp2_frame_origin_init(&frame, NULL, 0);
2758 rv = nghttp2_frame_pack_origin(&bufs, &frame);
2783 nghttp2_extension frame;
2801 frame.payload = &priority_update;
2815 nghttp2_frame_priority_update_init(&frame, 1, (uint8_t *)field_value,
2818 nghttp2_frame_pack_priority_update(&bufs, &frame);
2846 nghttp2_frame_priority_update_init(&frame, 1, (uint8_t *)field_value,
2849 nghttp2_frame_pack_priority_update(&bufs, &frame);
2895 nghttp2_frame_priority_update_init(&frame, 1, large_field_value,
2898 nghttp2_frame_pack_priority_update(&bufs, &frame);
2921 nghttp2_frame_priority_update_init(&frame, 1, (uint8_t *)field_value,
2924 nghttp2_frame_pack_priority_update(&bufs, &frame);
2936 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
2937 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
2951 &frame, stream_id, (uint8_t *)field_value, sizeof(field_value) - 1);
2953 nghttp2_frame_pack_priority_update(&bufs, &frame);
2971 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
2972 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
2992 nghttp2_frame frame;
3020 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
3022 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
3027 nghttp2_frame_headers_free(&frame.headers, mem);
3037 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 3,
3040 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
3045 nghttp2_frame_headers_free(&frame.headers, mem);
3061 recv_frame = user_data.frame;
3093 recv_frame = user_data.frame;
3149 DATA frame. */
3173 nghttp2_frame *frame;
3191 frame = &item->frame;
3197 &frame->headers, NGHTTP2_FLAG_END_HEADERS | NGHTTP2_FLAG_PRIORITY,
3217 nghttp2_frame frame;
3236 &frame.headers, NGHTTP2_FLAG_END_HEADERS | NGHTTP2_FLAG_PRIORITY,
3242 CU_ASSERT(0 == nghttp2_session_on_request_headers_received(session, &frame));
3248 nghttp2_frame_headers_free(&frame.headers, mem);
3252 nghttp2_frame_headers_init(&frame.headers,
3257 nghttp2_session_on_request_headers_received(session, &frame));
3261 nghttp2_frame_headers_free(&frame.headers, mem);
3267 nghttp2_frame_headers_init(&frame.headers,
3272 nghttp2_session_on_request_headers_received(session, &frame));
3276 nghttp2_frame_headers_free(&frame.headers, mem);
3280 nghttp2_frame_headers_init(&frame.headers,
3285 nghttp2_session_on_request_headers_received(session, &frame));
3289 nghttp2_frame_headers_free(&frame.headers, mem);
3298 nghttp2_frame_headers_init(&frame.headers,
3303 CU_ASSERT(0 == nghttp2_session_on_request_headers_received(session, &frame));
3307 nghttp2_frame_headers_free(&frame.headers, mem);
3315 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 2,
3320 nghttp2_session_on_request_headers_received(session, &frame));
3324 nghttp2_frame_headers_free(&frame.headers, mem);
3331 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
3336 nghttp2_session_on_request_headers_received(session, &frame));
3340 nghttp2_frame_headers_free(&frame.headers, mem);
3351 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 3,
3356 nghttp2_session_on_request_headers_received(session, &frame));
3360 nghttp2_frame_headers_free(&frame.headers, mem);
3369 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 3,
3372 CU_ASSERT(0 == nghttp2_session_on_request_headers_received(session, &frame));
3374 nghttp2_frame_headers_free(&frame.headers, mem);
3377 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 5,
3383 nghttp2_session_on_request_headers_received(session, &frame));
3387 nghttp2_frame_headers_free(&frame.headers, mem);
3398 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
3402 nghttp2_session_on_request_headers_received(session, &frame));
3405 nghttp2_frame_headers_free(&frame.headers, mem);
3414 nghttp2_frame frame;
3425 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
3431 CU_ASSERT(0 == nghttp2_session_on_response_headers_received(session, &frame,
3436 nghttp2_frame_headers_free(&frame.headers, mem);
3444 nghttp2_frame frame;
3456 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 1,
3462 CU_ASSERT(0 == nghttp2_session_on_headers_received(session, &frame, stream));
3467 frame.hd.flags |= NGHTTP2_FLAG_END_STREAM;
3469 CU_ASSERT(0 == nghttp2_session_on_headers_received(session, &frame, stream));
3475 frame.hd.stream_id = 3;
3476 frame.hd.flags = NGHTTP2_FLAG_END_HEADERS;
3478 nghttp2_session_on_headers_received(session, &frame, stream));
3486 frame.hd.flags = NGHTTP2_FLAG_END_HEADERS | NGHTTP2_FLAG_END_STREAM;
3487 frame.hd.stream_id = 2;
3489 CU_ASSERT(0 == nghttp2_session_on_headers_received(session, &frame, stream));
3497 nghttp2_session_on_headers_received(session, &frame, stream));
3500 nghttp2_frame_headers_free(&frame.headers, mem);
3509 nghttp2_frame frame;
3522 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 2,
3533 session, &frame, stream));
3544 frame.hd.stream_id = 4;
3546 nghttp2_session_on_push_response_headers_received(session, &frame,
3549 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
3550 CU_ASSERT(NGHTTP2_REFUSED_STREAM == item->frame.rst_stream.error_code);
3562 frame.hd.stream_id = 6;
3565 nghttp2_session_on_push_response_headers_received(session, &frame,
3568 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3569 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
3573 nghttp2_frame_headers_free(&frame.headers, mem);
3581 nghttp2_frame frame;
3595 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
3598 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
3605 frame.hd.stream_id = 2;
3608 nghttp2_priority_spec_init(&frame.priority.pri_spec, 3, 1, 0);
3610 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
3615 frame.hd.stream_id = 100;
3617 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
3619 stream = nghttp2_session_get_stream_raw(session, frame.hd.stream_id);
3624 nghttp2_frame_priority_free(&frame.priority);
3633 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
3635 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
3639 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3641 nghttp2_frame_priority_free(&frame.priority);
3649 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
3651 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
3655 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3657 nghttp2_frame_priority_free(&frame.priority);
3665 nghttp2_frame frame;
3670 nghttp2_frame_rst_stream_init(&frame.rst_stream, 1, NGHTTP2_PROTOCOL_ERROR);
3672 CU_ASSERT(0 == nghttp2_session_on_rst_stream_received(session, &frame));
3675 nghttp2_frame_rst_stream_free(&frame.rst_stream);
3684 nghttp2_frame frame;
3728 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE,
3731 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3740 frame.settings.iv[2].value = 16 * 1024;
3742 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3752 nghttp2_frame_settings_free(&frame.settings, mem);
3758 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_ACK, dup_iv(iv, 1),
3760 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3763 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3765 nghttp2_frame_settings_free(&frame.settings, mem);
3770 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_ACK, NULL, 0);
3772 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3775 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3777 nghttp2_frame_settings_free(&frame.settings, mem);
3796 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 2),
3799 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3805 nghttp2_frame_settings_free(&frame.settings, mem);
3810 value (unlimited) after receiving initial SETTINGS frame from the peer. */
3816 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, NULL, 0);
3817 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3821 nghttp2_frame_settings_free(&frame.settings, mem);
3831 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 1),
3834 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3839 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3841 nghttp2_frame_settings_free(&frame.settings, mem);
3850 nghttp2_frame_window_update_init(&frame.window_update, NGHTTP2_FLAG_NONE, 1,
3853 CU_ASSERT(0 == nghttp2_session_on_window_update_received(session, &frame));
3855 nghttp2_frame_window_update_free(&frame.window_update);
3860 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 1),
3865 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3867 nghttp2_frame_settings_free(&frame.settings, mem);
3872 CU_ASSERT(NGHTTP2_SETTINGS == item->frame.hd.type);
3877 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
3891 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 1),
3894 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3896 nghttp2_frame_settings_free(&frame.settings, mem);
3901 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3944 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_ACK, NULL, 0);
3946 rv = nghttp2_session_on_settings_received(session, &frame, 0);
3956 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
3958 item->frame.window_update.window_size_increment);
3972 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 1),
3975 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
3977 nghttp2_frame_settings_free(&frame.settings, mem);
3982 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
3991 nghttp2_frame frame;
4010 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
4016 CU_ASSERT(0 == nghttp2_session_on_push_promise_received(session, &frame));
4026 frame.push_promise.promised_stream_id = 4;
4031 nghttp2_session_on_push_promise_received(session, &frame));
4038 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
4039 CU_ASSERT(NGHTTP2_STREAM_CLOSED == item->frame.goaway.error_code);
4051 frame.push_promise.promised_stream_id = 6;
4056 nghttp2_session_on_push_promise_received(session, &frame));
4062 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
4063 CU_ASSERT(6 == item->frame.hd.stream_id);
4064 CU_ASSERT(NGHTTP2_CANCEL == item->frame.rst_stream.error_code);
4068 frame.hd.stream_id = 3;
4069 frame.push_promise.promised_stream_id = 8;
4074 nghttp2_session_on_push_promise_received(session, &frame));
4080 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
4081 CU_ASSERT(0 == item->frame.hd.stream_id);
4082 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
4092 frame.hd.stream_id = 1;
4093 frame.push_promise.promised_stream_id = 2;
4097 CU_ASSERT(0 == nghttp2_session_on_push_promise_received(session, &frame));
4106 nghttp2_session_on_push_promise_received(session, &frame));
4112 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
4113 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
4117 frame.push_promise.promised_stream_id = 10;
4122 nghttp2_session_on_push_promise_received(session, &frame));
4129 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
4137 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
4143 nghttp2_session_on_push_promise_received(session, &frame));
4149 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
4159 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
4165 nghttp2_session_on_push_promise_received(session, &frame));
4171 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
4181 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
4185 CU_ASSERT(0 == nghttp2_session_on_push_promise_received(session, &frame));
4190 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
4202 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
4206 nghttp2_session_on_push_promise_received(session, &frame));
4210 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
4222 nghttp2_frame_push_promise_init(&frame.push_promise, NGHTTP2_FLAG_END_HEADERS,
4226 nghttp2_session_on_push_promise_received(session, &frame));
4232 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
4233 CU_ASSERT(NGHTTP2_CANCEL == item->frame.rst_stream.error_code);
4235 nghttp2_frame_push_promise_free(&frame.push_promise, mem);
4243 nghttp2_frame frame;
4256 nghttp2_frame_ping_init(&frame.ping, NGHTTP2_FLAG_ACK, opaque_data);
4258 CU_ASSERT(0 == nghttp2_session_on_ping_received(session, &frame));
4261 /* Since this ping frame has ACK flag set, no further action is
4266 frame.hd.flags = NGHTTP2_FLAG_NONE;
4268 CU_ASSERT(0 == nghttp2_session_on_ping_received(session, &frame));
4271 CU_ASSERT(NGHTTP2_PING == top->frame.hd.type);
4272 CU_ASSERT(NGHTTP2_FLAG_ACK == top->frame.hd.flags);
4273 CU_ASSERT(memcmp(opaque_data, top->frame.ping.opaque_data, 8) == 0);
4275 nghttp2_frame_ping_free(&frame.ping);
4283 nghttp2_frame_ping_init(&frame.ping, NGHTTP2_FLAG_NONE, NULL);
4287 CU_ASSERT(0 == nghttp2_session_on_ping_received(session, &frame));
4291 nghttp2_frame_ping_free(&frame.ping);
4300 nghttp2_frame frame;
4325 nghttp2_frame_goaway_init(&frame.goaway, 3, NGHTTP2_PROTOCOL_ERROR, NULL, 0);
4329 CU_ASSERT(0 == nghttp2_session_on_goaway_received(session, &frame));
4344 nghttp2_frame_goaway_free(&frame.goaway, mem);
4356 nghttp2_frame_goaway_init(&frame.goaway, 0, NGHTTP2_NO_ERROR, NULL, 0);
4358 CU_ASSERT(0 == nghttp2_session_on_goaway_received(session, &frame));
4367 nghttp2_frame_goaway_free(&frame.goaway, mem);
4375 nghttp2_frame frame;
4396 nghttp2_frame_window_update_init(&frame.window_update, NGHTTP2_FLAG_NONE, 1,
4399 CU_ASSERT(0 == nghttp2_session_on_window_update_received(session, &frame));
4406 CU_ASSERT(0 == nghttp2_session_on_window_update_received(session, &frame));
4412 nghttp2_frame_window_update_free(&frame.window_update);
4418 nghttp2_frame_window_update_init(&frame.window_update, NGHTTP2_FLAG_NONE, 2,
4422 CU_ASSERT(0 == nghttp2_session_on_window_update_received(session, &frame));
4425 nghttp2_frame_window_update_free(&frame.window_update);
4434 nghttp2_frame_window_update_init(&frame.window_update, NGHTTP2_FLAG_NONE, 2,
4437 CU_ASSERT(0 == nghttp2_session_on_window_update_received(session, &frame));
4442 nghttp2_frame_window_update_free(&frame.window_update);
4453 nghttp2_frame frame;
4460 nghttp2_frame_hd_init(&frame.hd, 4096, NGHTTP2_DATA, NGHTTP2_FLAG_NONE, 2);
4462 CU_ASSERT(0 == nghttp2_session_on_data_received(session, &frame));
4465 frame.hd.flags = NGHTTP2_FLAG_END_STREAM;
4467 CU_ASSERT(0 == nghttp2_session_on_data_received(session, &frame));
4470 /* If NGHTTP2_STREAM_CLOSING state, DATA frame is discarded. */
4473 frame.hd.flags = NGHTTP2_FLAG_NONE;
4474 frame.hd.stream_id = 1;
4476 CU_ASSERT(0 == nghttp2_session_on_data_received(session, &frame));
4479 /* Check INVALID_STREAM case: DATA frame with stream ID which does
4482 frame.hd.stream_id = 3;
4484 CU_ASSERT(0 == nghttp2_session_on_data_received(session, &frame));
4517 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
4534 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
4543 nghttp2_frame frame;
4557 frame.ext.payload = &session->iframe.ext_frame_payload;
4561 nghttp2_frame_altsvc_init(&frame.ext, 0, origin, sizeof(origin) - 1,
4565 rv = nghttp2_session_on_altsvc_received(session, &frame);
4575 frame.ext.payload = &session->iframe.ext_frame_payload;
4577 nghttp2_frame_altsvc_init(&frame.ext, 0, origin, 0, field_value,
4581 rv = nghttp2_session_on_altsvc_received(session, &frame);
4591 frame.ext.payload = &session->iframe.ext_frame_payload;
4595 nghttp2_frame_altsvc_init(&frame.ext, 1, origin, sizeof(origin) - 1,
4599 rv = nghttp2_session_on_altsvc_received(session, &frame);
4609 frame.ext.payload = &session->iframe.ext_frame_payload;
4613 nghttp2_frame_altsvc_init(&frame.ext, 1, origin, 0, field_value,
4617 rv = nghttp2_session_on_altsvc_received(session, &frame);
4627 frame.ext.payload = &session->iframe.ext_frame_payload;
4629 nghttp2_frame_altsvc_init(&frame.ext, 1, origin, 0, field_value,
4633 rv = nghttp2_session_on_altsvc_received(session, &frame);
4647 nghttp2_frame *frame;
4662 frame = &item->frame;
4664 nghttp2_frame_headers_init(&frame->headers, NGHTTP2_FLAG_END_HEADERS,
4681 nghttp2_frame *frame;
4697 frame = &item->frame;
4699 nghttp2_frame_headers_init(&frame->headers, NGHTTP2_FLAG_END_HEADERS, 1,
4713 nghttp2_frame *frame;
4747 frame = &item->frame;
4749 nghttp2_frame_headers_init(&frame->headers, NGHTTP2_FLAG_END_HEADERS,
4775 nghttp2_frame *frame;
4791 frame = &item->frame;
4793 nghttp2_frame_headers_init(&frame->headers, NGHTTP2_FLAG_END_HEADERS, 2,
4810 nghttp2_frame *frame;
4824 frame = &item->frame;
4826 nghttp2_frame_rst_stream_init(&frame->rst_stream, 1, NGHTTP2_PROTOCOL_ERROR);
4839 nghttp2_frame *frame;
4857 frame = &item->frame;
4859 nghttp2_frame_push_promise_init(&frame->push_promise,
4874 frame = mem->malloc(sizeof(nghttp2_frame), NULL);
4875 nghttp2_frame_settings_init(&frame->settings, NGHTTP2_FLAG_NONE,
4877 nghttp2_session_on_settings_received(session, frame, 1);
4878 nghttp2_frame_settings_free(&frame->settings, mem);
4879 mem->free(frame, NULL);
4885 frame = &item->frame;
4887 nghttp2_frame_push_promise_init(&frame->push_promise,
4907 frame = &item->frame;
4909 nghttp2_frame_push_promise_init(&frame->push_promise,
4976 CU_ASSERT(NGHTTP2_SETTINGS == item->frame.hd.type);
4977 CU_ASSERT(2 == item->frame.settings.niv);
4979 item->frame.settings.iv[0].settings_id);
4980 CU_ASSERT(1 == item->frame.settings.iv[0].value);
4982 item->frame.settings.iv[1].settings_id);
4983 CU_ASSERT(4095 == item->frame.settings.iv[1].value);
5230 nghttp2_frame *frame;
5252 frame = &aob->item->frame;
5258 CU_ASSERT(NGHTTP2_FLAG_NONE == frame->hd.flags);
5270 nghttp2_frame *frame;
5294 frame = &aob->item->frame;
5300 CU_ASSERT(NGHTTP2_FLAG_NONE == frame->hd.flags);
5324 frame = &aob->item->frame;
5337 CU_ASSERT(NGHTTP2_FLAG_NONE == frame->hd.flags);
5350 nghttp2_frame *frame;
5373 frame = &aob->item->frame;
5379 CU_ASSERT(NGHTTP2_FLAG_NONE == frame->hd.flags);
5401 const nghttp2_frame *frame,
5414 frame->hd.stream_id, &data_prd);
5444 /* We should have sent 2 DATA frame with 16 bytes payload each */
5469 CU_ASSERT(ARRLEN(reqnv) == item->frame.headers.nvlen);
5470 assert_nv_equal(reqnv, item->frame.headers.nva, item->frame.headers.nvlen,
5494 nghttp2_frame frame;
5515 CU_ASSERT(ARRLEN(reqnv) == item->frame.headers.nvlen);
5516 assert_nv_equal(reqnv, item->frame.headers.nva, item->frame.headers.nvlen,
5518 CU_ASSERT(item->frame.hd.flags & NGHTTP2_FLAG_END_STREAM);
5521 CU_ASSERT(0 == unpack_frame(&frame, acc.buf, acc.length));
5528 nghttp2_frame_headers_free(&frame.headers, mem);
5565 CU_ASSERT(ARRLEN(resnv) == item->frame.headers.nvlen);
5566 assert_nv_equal(resnv, item->frame.headers.nva, item->frame.headers.nvlen,
5594 nghttp2_frame frame;
5615 CU_ASSERT(ARRLEN(resnv) == item->frame.headers.nvlen);
5616 assert_nv_equal(resnv, item->frame.headers.nva, item->frame.headers.nvlen,
5618 CU_ASSERT(item->frame.hd.flags & NGHTTP2_FLAG_END_STREAM);
5621 CU_ASSERT(0 == unpack_frame(&frame, acc.buf, acc.length));
5631 nghttp2_frame_headers_free(&frame.headers, mem);
5669 nghttp2_frame frame;
5698 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
5699 CU_ASSERT(NGHTTP2_HCAT_HEADERS == item->frame.headers.cat);
5700 CU_ASSERT(item->frame.hd.flags & NGHTTP2_FLAG_END_STREAM);
5703 CU_ASSERT(0 == unpack_frame(&frame, acc.buf, acc.length));
5713 nghttp2_frame_headers_free(&frame.headers, mem);
5743 CU_ASSERT(ARRLEN(reqnv) == item->frame.headers.nvlen);
5744 assert_nv_equal(reqnv, item->frame.headers.nva, item->frame.headers.nvlen,
5747 item->frame.hd.flags);
5748 CU_ASSERT(0 == (item->frame.hd.flags & NGHTTP2_FLAG_PRIORITY));
5771 CU_ASSERT(ARRLEN(resnv) == item->frame.headers.nvlen);
5772 assert_nv_equal(resnv, item->frame.headers.nva, item->frame.headers.nvlen,
5775 item->frame.hd.flags);
5844 nghttp2_frame frame;
5867 CU_ASSERT(ARRLEN(reqnv) == item->frame.headers.nvlen);
5868 assert_nv_equal(reqnv, item->frame.headers.nva, item->frame.headers.nvlen,
5871 item->frame.hd.flags);
5889 CU_ASSERT(0 == unpack_frame(&frame, acc.buf, acc.length));
5899 nghttp2_frame_headers_free(&frame.headers, mem);
5963 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
5965 item->frame.hd.flags);
5966 CU_ASSERT(0 == (item->frame.hd.flags & NGHTTP2_FLAG_PRIORITY));
6007 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
6009 item->frame.hd.flags);
6010 CU_ASSERT(0 == (item->frame.hd.flags & NGHTTP2_FLAG_PRIORITY));
6058 nghttp2_frame *frame;
6106 CU_ASSERT(NGHTTP2_SETTINGS == item->frame.hd.type);
6108 frame = &item->frame;
6109 CU_ASSERT(6 == frame->settings.niv);
6110 CU_ASSERT(5 == frame->settings.iv[0].value);
6112 frame->settings.iv[0].settings_id);
6114 CU_ASSERT(16 * 1024 == frame->settings.iv[1].value);
6116 frame->settings.iv[1].settings_id);
6118 CU_ASSERT(UNKNOWN_ID == frame->settings.iv[4].settings_id);
6119 CU_ASSERT(999 == frame->settings.iv[4].value);
6226 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
6227 CU_ASSERT(32768 == item->frame.window_update.window_size_increment);
6268 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
6269 CU_ASSERT(NGHTTP2_FLOW_CONTROL_ERROR == item->frame.rst_stream.error_code);
6279 nghttp2_frame frame;
6326 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_ACK, NULL, 0);
6329 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
6344 CU_ASSERT(0 == nghttp2_session_on_settings_received(session, &frame, 0));
6416 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
6417 CU_ASSERT(1024 == item->frame.window_update.window_size_increment);
6424 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
6425 CU_ASSERT(4096 == item->frame.window_update.window_size_increment);
6432 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
6433 CU_ASSERT(4096 == item->frame.window_update.window_size_increment);
6465 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
6466 CU_ASSERT(4097 == item->frame.window_update.window_size_increment);
6503 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
6504 CU_ASSERT(4097 == item->frame.window_update.window_size_increment);
6678 /* submitting standard HTTP/2 frame is error */
6780 nghttp2_frame frame;
6789 frame.ext.payload = &origin;
6803 nghttp2_frame_unpack_frame_hd(&frame.hd, data);
6805 &frame.ext, data + NGHTTP2_FRAME_HDLEN, (size_t)len - NGHTTP2_FRAME_HDLEN,
6809 CU_ASSERT(0 == frame.hd.stream_id);
6810 CU_ASSERT(NGHTTP2_ORIGIN == frame.hd.type);
6817 nghttp2_frame_origin_free(&frame.ext, mem);
6821 /* Submitting ORIGIN frame from client session is error */
6830 /* Submitting empty ORIGIN frame */
6843 nghttp2_frame_unpack_frame_hd(&frame.hd, data);
6845 CU_ASSERT(NGHTTP2_ORIGIN == frame.hd.type);
6857 nghttp2_frame frame;
6883 frame.ext.payload = &priority_update;
6891 nghttp2_frame_unpack_frame_hd(&frame.hd, data);
6893 &frame.ext, (uint8_t *)(data + NGHTTP2_FRAME_HDLEN),
6896 CU_ASSERT(0 == frame.hd.stream_id);
6897 CU_ASSERT(NGHTTP2_PRIORITY_UPDATE == frame.hd.type);
6905 /* Submitting PRIORITY_UPDATE frame from server session is error */
6934 frame.ext.payload = &priority_update;
6940 nghttp2_frame_unpack_frame_hd(&frame.hd, data);
6942 &frame.ext, (uint8_t *)(data + NGHTTP2_FRAME_HDLEN),
6945 CU_ASSERT(0 == frame.hd.stream_id);
6946 CU_ASSERT(NGHTTP2_PRIORITY_UPDATE == frame.hd.type);
7004 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
7005 CU_ASSERT(1 == item->frame.hd.stream_id);
7022 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
7023 CU_ASSERT(2 == item->frame.hd.stream_id);
7038 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
7049 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
7193 nghttp2_session_get_next_ob_item(session)->frame.hd.type);
7197 nghttp2_session_get_next_ob_item(session)->frame.hd.type);
7211 nghttp2_session_get_next_ob_item(session)->frame.hd.type);
7221 nghttp2_session_get_next_ob_item(session)->frame.hd.type);
7259 CU_ASSERT(NGHTTP2_PING == item->frame.hd.type);
7264 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
7285 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
7323 nghttp2_frame frame;
7335 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 3,
7340 nghttp2_session_on_request_headers_received(session, &frame));
7343 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
7344 CU_ASSERT(NGHTTP2_REFUSED_STREAM == item->frame.rst_stream.error_code);
7350 frame.hd.stream_id = 5;
7353 nghttp2_session_on_request_headers_received(session, &frame));
7356 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
7357 CU_ASSERT(NGHTTP2_PROTOCOL_ERROR == item->frame.goaway.error_code);
7359 nghttp2_frame_headers_free(&frame.headers, mem);
7368 nghttp2_frame frame;
7389 nghttp2_frame_rst_stream_init(&frame.rst_stream, 1, NGHTTP2_CANCEL);
7390 CU_ASSERT(0 == nghttp2_session_on_rst_stream_received(session, &frame));
7391 nghttp2_frame_rst_stream_free(&frame.rst_stream);
7478 nghttp2_frame frame;
7510 nghttp2_frame_window_update_init(&frame.window_update, NGHTTP2_FLAG_NONE, 1,
7512 nghttp2_session_on_window_update_received(session, &frame);
7519 frame.hd.stream_id = 0;
7520 nghttp2_session_on_window_update_received(session, &frame);
7539 frame.hd.stream_id = 1;
7540 frame.window_update.window_size_increment = 48 * 1024;
7541 nghttp2_session_on_window_update_received(session, &frame);
7548 frame.hd.stream_id = 1;
7549 frame.window_update.window_size_increment = 16 * 1024;
7550 nghttp2_session_on_window_update_received(session, &frame);
7553 frame.hd.stream_id = 0;
7554 frame.window_update.window_size_increment = 24 * 1024;
7555 nghttp2_session_on_window_update_received(session, &frame);
7575 frame.hd.stream_id = 0;
7576 frame.window_update.window_size_increment = 8 * 1024;
7577 nghttp2_session_on_window_update_received(session, &frame);
7585 nghttp2_frame_window_update_free(&frame.window_update);
7610 /* Create DATA frame */
7621 /* Since this is the last frame, stream-level WINDOW_UPDATE is not
7623 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
7624 CU_ASSERT(0 == item->frame.hd.stream_id);
7626 item->frame.window_update.window_size_increment);
7640 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
7641 CU_ASSERT(0 == item->frame.hd.stream_id);
7643 item->frame.window_update.window_size_increment);
7671 /* Create DATA frame */
7690 /* Receive the same DATA frame, but in 2 parts: first 9 + 1 + 102
7706 /* Receive the same DATA frame, but in 2 parts: first 9 = 1 + 101
7723 /* Receive the same DATA frame, but in 2 parts: first 9 = 1 + 50
7748 nghttp2_frame frame;
7769 CU_ASSERT(NGHTTP2_DATA == stream->item->frame.hd.type);
7776 nghttp2_frame_window_update_init(&frame.window_update, NGHTTP2_FLAG_NONE, 1,
7778 nghttp2_session_on_window_update_received(session, &frame);
7779 frame.hd.stream_id = 0;
7780 nghttp2_session_on_window_update_received(session, &frame);
7781 nghttp2_frame_window_update_free(&frame.window_update);
8157 nghttp2_frame *frame;
8181 frame = &session->aob.item->frame;
8183 CU_ASSERT(ud.padlen == frame->data.padlen);
8184 CU_ASSERT(frame->hd.flags & NGHTTP2_FLAG_PADDED);
8186 /* Check reception of this DATA frame */
9525 nghttp2_frame frame;
9667 /* Create idle stream by PRIORITY frame */
9668 nghttp2_frame_priority_init(&frame.priority, 7, &pri_spec_default);
9670 nghttp2_frame_pack_priority(&bufs, &frame.priority);
9672 nghttp2_frame_priority_free(&frame.priority);
10099 nghttp2_frame frame;
10116 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_STREAM, 1,
10118 nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
10119 nghttp2_frame_headers_free(&frame.headers, mem);
10122 block, and then frame header. */
10144 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
10145 CU_ASSERT(1 == item->frame.hd.stream_id);
10172 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
10173 CU_ASSERT(2 == item->frame.hd.stream_id);
10174 CU_ASSERT(NGHTTP2_INTERNAL_ERROR == item->frame.rst_stream.error_code);
10266 nghttp2_frame frame;
10274 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
10276 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
10295 nghttp2_frame_priority_free(&frame.priority);
10304 nghttp2_frame frame;
10333 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS, 2,
10335 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
10359 frame.hd.stream_id = 4;
10360 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
10371 nghttp2_frame_headers_free(&frame.headers, mem);
10511 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
10512 CU_ASSERT(1 == item->frame.hd.stream_id);
10513 CU_ASSERT(NGHTTP2_INTERNAL_ERROR == item->frame.rst_stream.error_code);
10538 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
10539 CU_ASSERT(2 == item->frame.hd.stream_id);
10540 CU_ASSERT(NGHTTP2_INTERNAL_ERROR == item->frame.rst_stream.error_code);
10554 nghttp2_frame frame;
10576 nghttp2_frame_rst_stream_init(&frame.rst_stream, 1, NGHTTP2_CANCEL);
10579 rv = nghttp2_session_on_rst_stream_received(session, &frame);
10638 nghttp2_frame frame;
10651 nghttp2_frame_ping_init(&frame.ping, NGHTTP2_FLAG_NONE, NULL);
10652 nghttp2_frame_pack_ping(&bufs, &frame.ping);
10653 nghttp2_frame_ping_free(&frame.ping);
10673 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, NULL, 0);
10674 nghttp2_frame_pack_settings(&bufs, &frame.settings);
10675 nghttp2_frame_settings_free(&frame.settings, mem);
10773 nghttp2_extension frame;
10808 frame.payload = &priority_update;
10809 nghttp2_frame_priority_update_init(&frame, 1, (uint8_t *)field_value,
10811 nghttp2_frame_pack_priority_update(&bufs, &frame);
10985 nghttp2_frame frame;
10998 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
11000 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
11002 nghttp2_frame_priority_free(&frame.priority);
11009 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
11011 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
11013 nghttp2_frame_priority_free(&frame.priority);
11021 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
11023 CU_ASSERT(0 == nghttp2_session_on_priority_received(session, &frame));
11025 nghttp2_frame_priority_free(&frame.priority);
11104 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
11105 CU_ASSERT(1 == item->frame.window_update.hd.stream_id);
11106 CU_ASSERT(1 == item->frame.window_update.window_size_increment);
11144 CU_ASSERT(1 == item->frame.window_update.window_size_increment);
11159 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
11160 CU_ASSERT(0 == item->frame.window_update.hd.stream_id);
11161 CU_ASSERT(1 == item->frame.window_update.window_size_increment);
11196 CU_ASSERT(1 == item->frame.window_update.window_size_increment);
11212 /* This should submit WINDOW_UPDATE frame because stream-level
11223 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
11224 CU_ASSERT(1 == item->frame.hd.stream_id);
11226 item->frame.window_update.window_size_increment);
11240 /* This should submit WINDOW_UPDATE frame because connection-level
11251 CU_ASSERT(NGHTTP2_WINDOW_UPDATE == item->frame.hd.type);
11252 CU_ASSERT(0 == item->frame.hd.stream_id);
11254 item->frame.window_update.window_size_increment);
11351 nghttp2_frame frame;
11382 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, dup_iv(iv, 2),
11385 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
11390 nghttp2_frame_settings_free(&frame.settings, mem);
11401 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
11469 NGHTTP2_DEFAULT_MAX_CONCURRENT_STREAMS, receiving frame on stream
11537 /* Now current max concurrent streams is 2. Receiving frame on
11719 CU_ASSERT(ARRLEN(resnv) == item->frame.headers.nvlen);
11720 assert_nv_equal(resnv, item->frame.headers.nva, item->frame.headers.nvlen,
11749 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
11750 CU_ASSERT(pri_spec.stream_id == item->frame.headers.pri_spec.stream_id);
11751 CU_ASSERT(pri_spec.weight == item->frame.headers.pri_spec.weight);
11752 CU_ASSERT(pri_spec.exclusive == item->frame.headers.pri_spec.exclusive);
11777 CU_ASSERT(NGHTTP2_HEADERS == item->frame.hd.type);
11778 CU_ASSERT(nghttp2_priority_spec_check_default(&item->frame.headers.pri_spec));
11787 nghttp2_frame frame;
11826 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, NULL, 0);
11827 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
11831 nghttp2_frame_settings_free(&frame.settings, mem);
11844 nghttp2_frame_headers_init(&frame.headers,
11848 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
11852 nghttp2_frame_headers_free(&frame.headers, mem);
11872 /* Make sure that PRIORITY frame updates stream priority. */
11874 nghttp2_frame_priority_init(&frame.priority, 1, &pri_spec);
11876 nghttp2_frame_pack_priority(&bufs, &frame.priority);
11878 nghttp2_frame_priority_free(&frame.priority);
11891 /* Make sure that PRIORITY_UPDATE frame is ignored. */
11892 frame.ext.payload = &priority_update;
11893 nghttp2_frame_priority_update_init(&frame.ext, 1, (uint8_t *)field_value,
11896 nghttp2_frame_pack_priority_update(&bufs, &frame.ext);
11923 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE,
11926 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
11930 nghttp2_frame_settings_free(&frame.settings, mem);
11943 nghttp2_frame_headers_init(&frame.headers,
11947 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
11951 nghttp2_frame_headers_free(&frame.headers, mem);
11974 nghttp2_frame frame;
11999 nghttp2_frame_settings_init(&frame.settings, NGHTTP2_FLAG_NONE, NULL, 0);
12000 rv = nghttp2_frame_pack_settings(&bufs, &frame.settings);
12004 nghttp2_frame_settings_free(&frame.settings, mem);
12026 nghttp2_frame_headers_init(&frame.headers, NGHTTP2_FLAG_END_HEADERS,
12029 rv = nghttp2_frame_pack_headers(&bufs, &frame.headers, &deflater);
12033 nghttp2_frame_headers_free(&frame.headers, mem);
12043 nghttp2_frame_rst_stream_init(&frame.rst_stream, stream_id,
12045 nghttp2_frame_pack_rst_stream(&bufs, &frame.rst_stream);
12046 nghttp2_frame_rst_stream_free(&frame.rst_stream);
12063 CU_ASSERT(NGHTTP2_GOAWAY == item->frame.hd.type);
12065 item->frame.goaway.last_stream_id);
12109 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12560 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12581 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12602 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12633 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12661 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12689 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12742 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12765 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12811 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12922 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
12951 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
13022 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
13080 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
13081 CU_ASSERT(1 == item->frame.hd.stream_id);
13302 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);
13303 CU_ASSERT(4 == item->frame.hd.stream_id);
13396 CU_ASSERT(NGHTTP2_RST_STREAM == item->frame.hd.type);