From eb6956e2e541523cc7c1fc6ca60c74e245ceddb5 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> Date: Sun, 7 Jun 2020 22:38:16 +0900 Subject: [PATCH] ngtcp2_conn_writev_stream family: Pass fin in flags parameter --- examples/client.cc | 11 +++- examples/server.cc | 8 ++- lib/includes/ngtcp2/ngtcp2.h | 20 ++++--- lib/ngtcp2_conn.c | 20 +++---- tests/ngtcp2_conn_test.c | 113 +++++++++++++++++------------------ 5 files changed, 91 insertions(+), 81 deletions(-) diff --git a/examples/client.cc b/examples/client.cc index f2c44429..ee82995e 100644 --- a/examples/client.cc +++ b/examples/client.cc @@ -1171,10 +1171,15 @@ int Client::write_streams() { auto v = vec.data(); auto vcnt = static_cast<size_t>(sveccnt); + uint32_t flags = NGTCP2_WRITE_STREAM_FLAG_MORE; + if (fin) { + flags |= NGTCP2_WRITE_STREAM_FLAG_FIN; + } + auto nwrite = ngtcp2_conn_writev_stream( - conn_, &path.path, sendbuf_.wpos(), max_pktlen_, &ndatalen, - NGTCP2_WRITE_STREAM_FLAG_MORE, stream_id, fin, - reinterpret_cast<const ngtcp2_vec *>(v), vcnt, util::timestamp(loop_)); + conn_, &path.path, sendbuf_.wpos(), max_pktlen_, &ndatalen, flags, + stream_id, reinterpret_cast<const ngtcp2_vec *>(v), vcnt, + util::timestamp(loop_)); if (nwrite < 0) { switch (nwrite) { case NGTCP2_ERR_STREAM_DATA_BLOCKED: diff --git a/examples/server.cc b/examples/server.cc index 97d51265..35d8a6ec 100644 --- a/examples/server.cc +++ b/examples/server.cc @@ -1769,9 +1769,13 @@ int Handler::write_streams() { auto v = vec.data(); auto vcnt = static_cast<size_t>(sveccnt); + uint32_t flags = NGTCP2_WRITE_STREAM_FLAG_MORE; + if (fin) { + flags |= NGTCP2_WRITE_STREAM_FLAG_FIN; + } + auto nwrite = ngtcp2_conn_writev_stream( - conn_, &path.path, bufpos, max_pktlen_, &ndatalen, - NGTCP2_WRITE_STREAM_FLAG_MORE, stream_id, fin, + conn_, &path.path, bufpos, max_pktlen_, &ndatalen, flags, stream_id, reinterpret_cast<const ngtcp2_vec *>(v), vcnt, util::timestamp(loop_)); if (nwrite < 0) { switch (nwrite) { diff --git a/lib/includes/ngtcp2/ngtcp2.h b/lib/includes/ngtcp2/ngtcp2.h index c112776b..696f9919 100644 --- a/lib/includes/ngtcp2/ngtcp2.h +++ b/lib/includes/ngtcp2/ngtcp2.h @@ -2406,7 +2406,12 @@ typedef enum ngtcp2_write_stream_flag { * NGTCP2_WRITE_STREAM_FLAG_MORE indicates that more stream data may * come and should be coalesced into the same packet if possible. */ - NGTCP2_WRITE_STREAM_FLAG_MORE = 0x01 + NGTCP2_WRITE_STREAM_FLAG_MORE = 0x01, + /** + * NGTCP2_WRITE_STREAM_FLAG_FIN indicates that the passed data is + * the final part of a stream. + */ + NGTCP2_WRITE_STREAM_FLAG_FIN = 0x02 } ngtcp2_write_stream_flag; /** @@ -2418,7 +2423,7 @@ typedef enum ngtcp2_write_stream_flag { */ NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_stream( ngtcp2_conn *conn, ngtcp2_path *path, uint8_t *dest, size_t destlen, - ngtcp2_ssize *pdatalen, uint32_t flags, int64_t stream_id, int fin, + ngtcp2_ssize *pdatalen, uint32_t flags, int64_t stream_id, const uint8_t *data, size_t datalen, ngtcp2_tstamp ts); /** @@ -2438,15 +2443,16 @@ NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_stream( * nothing is written to |dest|. * * If the all given data is encoded as STREAM frame in |dest|, and if - * |fin| is nonzero, fin flag is set in outgoing STREAM frame. - * Otherwise, fin flag in STREAM frame is not set. + * |flags| & NGTCP2_WRITE_STREAM_FLAG_FIN is nonzero, fin flag is set + * to outgoing STREAM frame. Otherwise, fin flag in STREAM frame is + * not set. * * This packet may contain frames other than STREAM frame. The packet * might not contain STREAM frame if other frames occupy the packet. * In that case, |*pdatalen| would be -1 if |pdatalen| is not NULL. * - * If |fin| is nonzero, and 0 length STREAM frame is successfully - * serialized, |*pdatalen| would be 0. + * If |flags| & NGTCP2_WRITE_STREAM_FLAG_FIN is nonzero, and 0 length + * STREAM frame is successfully serialized, |*pdatalen| would be 0. * * The number of data encoded in STREAM frame is stored in |*pdatalen| * if it is not NULL. The caller must keep the portion of data @@ -2530,7 +2536,7 @@ NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_write_stream( */ NGTCP2_EXTERN ngtcp2_ssize ngtcp2_conn_writev_stream( ngtcp2_conn *conn, ngtcp2_path *path, uint8_t *dest, size_t destlen, - ngtcp2_ssize *pdatalen, uint32_t flags, int64_t stream_id, int fin, + ngtcp2_ssize *pdatalen, uint32_t flags, int64_t stream_id, const ngtcp2_vec *datav, size_t datavcnt, ngtcp2_tstamp ts); /** diff --git a/lib/ngtcp2_conn.c b/lib/ngtcp2_conn.c index 1e6da73b..4bf2b301 100644 --- a/lib/ngtcp2_conn.c +++ b/lib/ngtcp2_conn.c @@ -3401,11 +3401,11 @@ static ngtcp2_ssize conn_write_path_challenge(ngtcp2_conn *conn, ngtcp2_ssize ngtcp2_conn_write_pkt(ngtcp2_conn *conn, ngtcp2_path *path, uint8_t *dest, size_t destlen, ngtcp2_tstamp ts) { - return ngtcp2_conn_writev_stream( - conn, path, dest, destlen, - /* pdatalen = */ NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, - /* stream_id = */ -1, - /* fin = */ 0, /* datav = */ NULL, /* datavcnt = */ 0, ts); + return ngtcp2_conn_writev_stream(conn, path, dest, destlen, + /* pdatalen = */ NULL, + NGTCP2_WRITE_STREAM_FLAG_NONE, + /* stream_id = */ -1, + /* datav = */ NULL, /* datavcnt = */ 0, ts); } /* @@ -8390,22 +8390,21 @@ ngtcp2_strm *ngtcp2_conn_find_stream(ngtcp2_conn *conn, int64_t stream_id) { ngtcp2_ssize ngtcp2_conn_write_stream(ngtcp2_conn *conn, ngtcp2_path *path, uint8_t *dest, size_t destlen, ngtcp2_ssize *pdatalen, uint32_t flags, - int64_t stream_id, int fin, - const uint8_t *data, size_t datalen, - ngtcp2_tstamp ts) { + int64_t stream_id, const uint8_t *data, + size_t datalen, ngtcp2_tstamp ts) { ngtcp2_vec datav; datav.len = datalen; datav.base = (uint8_t *)data; return ngtcp2_conn_writev_stream(conn, path, dest, destlen, pdatalen, flags, - stream_id, fin, &datav, 1, ts); + stream_id, &datav, 1, ts); } ngtcp2_ssize ngtcp2_conn_writev_stream(ngtcp2_conn *conn, ngtcp2_path *path, uint8_t *dest, size_t destlen, ngtcp2_ssize *pdatalen, uint32_t flags, - int64_t stream_id, int fin, + int64_t stream_id, const ngtcp2_vec *datav, size_t datavcnt, ngtcp2_tstamp ts) { ngtcp2_strm *strm = NULL; @@ -8417,6 +8416,7 @@ ngtcp2_ssize ngtcp2_conn_writev_stream(ngtcp2_conn *conn, ngtcp2_path *path, int ppe_pending = (conn->flags & NGTCP2_CONN_FLAG_PPE_PENDING) != 0; ngtcp2_ssize res = 0; size_t server_hs_tx_left; + int fin = flags & NGTCP2_WRITE_STREAM_FLAG_FIN; conn->log.last_ts = ts; conn->qlog.last_ts = ts; diff --git a/tests/ngtcp2_conn_test.c b/tests/ngtcp2_conn_test.c index 5ab7f6a9..df149bb1 100644 --- a/tests/ngtcp2_conn_test.c +++ b/tests/ngtcp2_conn_test.c @@ -654,7 +654,7 @@ void test_ngtcp2_conn_stream_open_close(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, 4, 1, NULL, 0, 3); + NGTCP2_WRITE_STREAM_FLAG_FIN, 4, NULL, 0, 3); CU_ASSERT(spktlen > 0); @@ -820,7 +820,7 @@ void test_ngtcp2_conn_stream_tx_flow_control(void) { strm = ngtcp2_conn_find_stream(conn, stream_id); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 1); + null_data, 1024, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(1024 == nwrite); @@ -828,7 +828,7 @@ void test_ngtcp2_conn_stream_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 2); + null_data, 1024, 2); CU_ASSERT(spktlen > 0); CU_ASSERT(1023 == nwrite); @@ -836,14 +836,14 @@ void test_ngtcp2_conn_stream_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 3); + null_data, 1024, 3); CU_ASSERT(NGTCP2_ERR_STREAM_DATA_BLOCKED == spktlen); /* We can write 0 length STREAM frame */ spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 0, 3); + null_data, 0, 3); CU_ASSERT(spktlen > 0); CU_ASSERT(0 == nwrite); @@ -862,7 +862,7 @@ void test_ngtcp2_conn_stream_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 5); + null_data, 1024, 5); CU_ASSERT(spktlen > 0); CU_ASSERT(1 == nwrite); @@ -880,8 +880,8 @@ void test_ngtcp2_conn_stream_tx_flow_control(void) { CU_ASSERT(0 == rv); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, - NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 1, null_data, 1024, 1); + NGTCP2_WRITE_STREAM_FLAG_FIN, stream_id, + null_data, 1024, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(1024 == nwrite); @@ -1000,7 +1000,7 @@ void test_ngtcp2_conn_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 1); + null_data, 1024, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(1024 == nwrite); @@ -1008,7 +1008,7 @@ void test_ngtcp2_conn_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1023, 2); + null_data, 1023, 2); CU_ASSERT(spktlen > 0); CU_ASSERT(1023 == nwrite); @@ -1016,7 +1016,7 @@ void test_ngtcp2_conn_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 3); + null_data, 1024, 3); CU_ASSERT(spktlen > 0); CU_ASSERT(1 == nwrite); @@ -1024,7 +1024,7 @@ void test_ngtcp2_conn_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 4); + null_data, 1024, 4); CU_ASSERT(spktlen == 0); CU_ASSERT(-1 == nwrite); @@ -1041,7 +1041,7 @@ void test_ngtcp2_conn_tx_flow_control(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 1024, 4); + null_data, 1024, 4); CU_ASSERT(spktlen > 0); CU_ASSERT(1024 == nwrite); @@ -1075,8 +1075,8 @@ void test_ngtcp2_conn_shutdown_stream_write(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, 0, - null_data, 1239, 1); + NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, null_data, + 1239, 1); rv = ngtcp2_conn_shutdown_stream_write(conn, stream_id, NGTCP2_APP_ERR01); CU_ASSERT(0 == rv); @@ -1215,8 +1215,7 @@ void test_ngtcp2_conn_recv_reset_stream(void) { CU_ASSERT(0 == rv); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, 4, 0, null_data, 354, - 2); + NGTCP2_WRITE_STREAM_FLAG_NONE, 4, null_data, 354, 2); fr.type = NGTCP2_FRAME_RESET_STREAM; fr.reset_stream.stream_id = 4; @@ -1253,8 +1252,7 @@ void test_ngtcp2_conn_recv_reset_stream(void) { CU_ASSERT(0 == rv); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, 4, 0, null_data, 354, - 2); + NGTCP2_WRITE_STREAM_FLAG_NONE, 4, null_data, 354, 2); ngtcp2_conn_shutdown_stream_read(conn, 4, NGTCP2_APP_ERR01); ngtcp2_conn_write_pkt(conn, NULL, buf, sizeof(buf), 3); @@ -1289,8 +1287,7 @@ void test_ngtcp2_conn_recv_reset_stream(void) { CU_ASSERT(0 == rv); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, 4, 0, null_data, 354, - 2); + NGTCP2_WRITE_STREAM_FLAG_NONE, 4, null_data, 354, 2); ngtcp2_conn_shutdown_stream_write(conn, 4, NGTCP2_APP_ERR01); ngtcp2_conn_write_pkt(conn, NULL, buf, sizeof(buf), 3); @@ -1337,8 +1334,7 @@ void test_ngtcp2_conn_recv_reset_stream(void) { CU_ASSERT(0 == rv); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, 4, 0, null_data, 354, - 2); + NGTCP2_WRITE_STREAM_FLAG_NONE, 4, null_data, 354, 2); fr.type = NGTCP2_FRAME_STOP_SENDING; fr.stop_sending.stream_id = 4; @@ -1676,8 +1672,7 @@ void test_ngtcp2_conn_recv_reset_stream(void) { CU_ASSERT(0 == rv); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, 4, 0, null_data, 354, - 2); + NGTCP2_WRITE_STREAM_FLAG_NONE, 4, null_data, 354, 2); ngtcp2_conn_shutdown_stream_read(conn, 4, NGTCP2_APP_ERR01); ngtcp2_conn_write_pkt(conn, NULL, buf, sizeof(buf), 3); @@ -1716,8 +1711,8 @@ void test_ngtcp2_conn_recv_stop_sending(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, 0, - null_data, 333, ++t); + NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, null_data, + 333, ++t); fr.type = NGTCP2_FRAME_STOP_SENDING; fr.stop_sending.stream_id = stream_id; @@ -1751,8 +1746,8 @@ void test_ngtcp2_conn_recv_stop_sending(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, - NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, 0, - null_data, 333, ++t); + NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, null_data, + 333, ++t); fr.type = NGTCP2_FRAME_RESET_STREAM; fr.reset_stream.stream_id = stream_id; @@ -1962,7 +1957,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(pkt_decode_hd_short_mask(&hd, buf, (size_t)spktlen, @@ -1979,7 +1974,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(pkt_decode_hd_short_mask(&hd, buf, (size_t)spktlen, @@ -1996,7 +1991,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(pkt_decode_hd_short_mask(&hd, buf, (size_t)spktlen, @@ -2013,7 +2008,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(pkt_decode_hd_short_mask(&hd, buf, (size_t)spktlen, @@ -2030,7 +2025,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT(pkt_decode_hd_short_mask(&hd, buf, (size_t)spktlen, @@ -2047,7 +2042,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT( @@ -2064,7 +2059,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT( @@ -2081,7 +2076,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT( @@ -2098,7 +2093,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT( @@ -2115,7 +2110,7 @@ void test_ngtcp2_conn_short_pkt_type(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 19, 1); + null_data, 19, 1); CU_ASSERT(spktlen > 0); CU_ASSERT( @@ -2329,14 +2324,14 @@ void test_ngtcp2_conn_recv_retry(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, sizeof(buf), &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_datav(&datav, 219), 1, ++t); + null_datav(&datav, 219), 1, ++t); CU_ASSERT(sizeof(buf) == spktlen); CU_ASSERT(219 == datalen); spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, sizeof(buf), &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_datav(&datav, 119), 1, ++t); + null_datav(&datav, 119), 1, ++t); CU_ASSERT(spktlen > 0); CU_ASSERT(119 == datalen); @@ -2363,7 +2358,7 @@ void test_ngtcp2_conn_recv_retry(void) { /* ngtcp2_conn_write_stream sends new 0RTT packet. */ spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 120, ++t); + null_data, 120, ++t); CU_ASSERT(spktlen > 0); CU_ASSERT(3 == conn->pktns.tx.last_pkt_num); @@ -2556,7 +2551,7 @@ void test_ngtcp2_conn_retransmit_protected(void) { ngtcp2_conn_open_bidi_stream(conn, &stream_id, NULL); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), NULL, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_data, 126, ++t); + null_data, 126, ++t); CU_ASSERT(spktlen > 0); @@ -3422,8 +3417,8 @@ void test_ngtcp2_conn_send_early_data(void) { CU_ASSERT(0 == rv); spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &datalen, - NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 1, null_data, 1024, ++t); + NGTCP2_WRITE_STREAM_FLAG_FIN, stream_id, + null_data, 1024, ++t); CU_ASSERT((ngtcp2_ssize)sizeof(buf) == spktlen); CU_ASSERT(674 == datalen); @@ -3440,7 +3435,7 @@ void test_ngtcp2_conn_send_early_data(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, sizeof(buf), &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, null_datav(&datav, 199), 1, ++t); + null_datav(&datav, 199), 1, ++t); CU_ASSERT(sizeof(buf) == spktlen); CU_ASSERT(199 == datalen); @@ -3455,8 +3450,8 @@ void test_ngtcp2_conn_send_early_data(void) { CU_ASSERT(0 == rv); spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, sizeof(buf), &datalen, - NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 1, NULL, 0, ++t); + NGTCP2_WRITE_STREAM_FLAG_FIN, stream_id, + NULL, 0, ++t); CU_ASSERT(sizeof(buf) == spktlen); CU_ASSERT(0 == datalen); @@ -3471,8 +3466,8 @@ void test_ngtcp2_conn_send_early_data(void) { CU_ASSERT(0 == rv); spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, sizeof(buf), &datalen, - NGTCP2_WRITE_STREAM_FLAG_NONE, -1, 0, - NULL, 0, ++t); + NGTCP2_WRITE_STREAM_FLAG_NONE, -1, NULL, + 0, ++t); CU_ASSERT(spktlen > 0); @@ -3480,7 +3475,7 @@ void test_ngtcp2_conn_send_early_data(void) { written. */ spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, sizeof(buf), &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, NULL, 0, ++t); + NULL, 0, ++t); CU_ASSERT(spktlen > 0); @@ -3497,7 +3492,7 @@ void test_ngtcp2_conn_send_early_data(void) { conn, NULL, buf, NGTCP2_MIN_LONG_HEADERLEN + 1 + ngtcp2_conn_get_dcid(conn)->datalen + conn->oscid.datalen + 300, - &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, 1, NULL, 0, ++t); + &datalen, NGTCP2_WRITE_STREAM_FLAG_FIN, stream_id, NULL, 0, ++t); CU_ASSERT(spktlen > 0); CU_ASSERT(-1 == datalen); @@ -3802,7 +3797,7 @@ void test_ngtcp2_conn_writev_stream(void) { */ spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, 39, &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, &datav, 1, ++t); + &datav, 1, ++t); CU_ASSERT(0 == spktlen); CU_ASSERT(-1 == datalen); @@ -3823,7 +3818,7 @@ void test_ngtcp2_conn_writev_stream(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, 40, &datalen, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - 0, &datav, 1, ++t); + &datav, 1, ++t); CU_ASSERT(spktlen > 0); CU_ASSERT(1 == datalen); @@ -3840,7 +3835,7 @@ void test_ngtcp2_conn_writev_stream(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, 1200, &datalen, NGTCP2_WRITE_STREAM_FLAG_MORE, stream_id, - 0, &datav, 1, ++t); + &datav, 1, ++t); CU_ASSERT(NGTCP2_ERR_WRITE_STREAM_MORE == spktlen); CU_ASSERT(10 == datalen); @@ -3853,7 +3848,7 @@ void test_ngtcp2_conn_writev_stream(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, 1200, &datalen, NGTCP2_WRITE_STREAM_FLAG_MORE, stream_id, - 0, &datav, 1, ++t); + &datav, 1, ++t); CU_ASSERT(NGTCP2_ERR_WRITE_STREAM_MORE == spktlen); CU_ASSERT(10 == datalen); @@ -3875,7 +3870,7 @@ void test_ngtcp2_conn_writev_stream(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, 1200, &datalen, NGTCP2_WRITE_STREAM_FLAG_MORE, stream_id, - 0, &datav, 1, ++t); + &datav, 1, ++t); CU_ASSERT(NGTCP2_ERR_WRITE_STREAM_MORE == spktlen); CU_ASSERT(10 == datalen); @@ -3888,7 +3883,7 @@ void test_ngtcp2_conn_writev_stream(void) { spktlen = ngtcp2_conn_writev_stream(conn, NULL, buf, 1200, &datalen, NGTCP2_WRITE_STREAM_FLAG_MORE, stream_id, - 0, &datav, 1, ++t); + &datav, 1, ++t); CU_ASSERT(NGTCP2_ERR_WRITE_STREAM_MORE == spktlen); CU_ASSERT(10 == datalen); @@ -4634,7 +4629,7 @@ void test_ngtcp2_conn_key_update(void) { spktlen = ngtcp2_conn_write_stream(conn, NULL, buf, sizeof(buf), &nwrite, NGTCP2_WRITE_STREAM_FLAG_NONE, stream_id, - /* fin = */ 0, null_data, 1024, ++t); + null_data, 1024, ++t); CU_ASSERT(spktlen > 0); CU_ASSERT(conn->flags & NGTCP2_CONN_FLAG_KEY_UPDATE_NOT_CONFIRMED); -- GitLab