diff --git a/lib/ngtcp2_acktr.c b/lib/ngtcp2_acktr.c index e8a0ce35ca79db8c7b078c12016ec2d725575f40..2b035a5104c22c09041787893aa92dd7dda5e324 100644 --- a/lib/ngtcp2_acktr.c +++ b/lib/ngtcp2_acktr.c @@ -214,7 +214,7 @@ ngtcp2_ksl_it ngtcp2_acktr_get(ngtcp2_acktr *acktr) { ngtcp2_acktr_ack_entry *ngtcp2_acktr_add_ack(ngtcp2_acktr *acktr, uint64_t pkt_num, ngtcp2_ack *fr, - ngtcp2_tstamp ts, int ack_only) { + ngtcp2_tstamp ts) { ngtcp2_acktr_ack_entry *ent; if (ngtcp2_ringbuf_full(&acktr->acks)) { @@ -227,7 +227,6 @@ ngtcp2_acktr_ack_entry *ngtcp2_acktr_add_ack(ngtcp2_acktr *acktr, ent->ack = fr; ent->pkt_num = pkt_num; ent->ts = ts; - ent->ack_only = (uint8_t)ack_only; return ent; } diff --git a/lib/ngtcp2_acktr.h b/lib/ngtcp2_acktr.h index 2b57c22a96fcf0ea8793b21e7cd2d050770070df..6cc2868f57297f554306a535b5c0dd1c4f17fa28 100644 --- a/lib/ngtcp2_acktr.h +++ b/lib/ngtcp2_acktr.h @@ -82,7 +82,6 @@ typedef struct { ngtcp2_ack *ack; uint64_t pkt_num; ngtcp2_tstamp ts; - uint8_t ack_only; } ngtcp2_acktr_ack_entry; typedef enum { @@ -177,13 +176,12 @@ ngtcp2_ksl_it ngtcp2_acktr_get(ngtcp2_acktr *acktr); /* * ngtcp2_acktr_add_ack adds the outgoing ACK frame |fr| to |acktr|. * |pkt_num| is the packet number which |fr| belongs. This function - * transfers the ownership of |fr| to |acktr|. |ack_only| is nonzero - * if the packet contains an ACK frame only. This function returns a - * pointer to the object it adds. + * transfers the ownership of |fr| to |acktr|. This function returns + * a pointer to the object it adds. */ ngtcp2_acktr_ack_entry *ngtcp2_acktr_add_ack(ngtcp2_acktr *acktr, uint64_t pkt_num, ngtcp2_ack *fr, - ngtcp2_tstamp ts, int ack_only); + ngtcp2_tstamp ts); /* * ngtcp2_acktr_recv_ack processes the incoming ACK frame |fr|. diff --git a/lib/ngtcp2_conn.c b/lib/ngtcp2_conn.c index a7080a84b6678daf485e930fd2f9b1a6c5a08123..4106dce60f471a254958f86c4f885745e7b2fde7 100644 --- a/lib/ngtcp2_conn.c +++ b/lib/ngtcp2_conn.c @@ -973,7 +973,6 @@ static ssize_t conn_write_handshake_pkt(ngtcp2_conn *conn, uint8_t *dest, ssize_t spktlen; ngtcp2_crypto_ctx ctx; ngtcp2_rtb_entry *rtbent; - ngtcp2_acktr_ack_entry *ack_ent = NULL; ngtcp2_pktns *pktns; size_t left; uint8_t flags = NGTCP2_RTB_FLAG_NONE; @@ -1148,8 +1147,7 @@ static ssize_t conn_write_handshake_pkt(ngtcp2_conn *conn, uint8_t *dest, ngtcp2_mem_free(conn->mem, ackfr); } else { ngtcp2_acktr_commit_ack(&pktns->acktr); - ack_ent = ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, - ts, 0 /* ack_only */); + ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, ts); /* Now ackfr is owned by conn->acktr. */ pkt_empty = 0; } @@ -1194,8 +1192,6 @@ static ssize_t conn_write_handshake_pkt(ngtcp2_conn *conn, uint8_t *dest, ngtcp2_rtb_entry_del(rtbent, conn->mem); return rv; } - } else if (ack_ent) { - ack_ent->ack_only = 1; } ++pktns->last_tx_pkt_num; @@ -1230,7 +1226,6 @@ static ssize_t conn_write_handshake_ack_pkt(ngtcp2_conn *conn, uint8_t *dest, ngtcp2_crypto_ctx ctx; ngtcp2_pktns *pktns; ngtcp2_rtb_entry *rtbent; - ngtcp2_acktr_ack_entry *ack_ent = NULL; ssize_t spktlen; int force_initial; @@ -1300,9 +1295,7 @@ static ssize_t conn_write_handshake_ack_pkt(ngtcp2_conn *conn, uint8_t *dest, ngtcp2_mem_free(conn->mem, ackfr); } else { ngtcp2_acktr_commit_ack(&pktns->acktr); - - ack_ent = ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, ts, - 0 /* ack_only*/); + ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, ts); } ackfr = NULL; } @@ -1345,8 +1338,6 @@ static ssize_t conn_write_handshake_ack_pkt(ngtcp2_conn *conn, uint8_t *dest, if (spktlen < 0) { return spktlen; } - - ack_ent->ack_only = 1; } ++pktns->last_tx_pkt_num; @@ -1588,7 +1579,6 @@ static ssize_t conn_write_pkt(ngtcp2_conn *conn, uint8_t *dest, size_t destlen, ngtcp2_rtb_entry *ent; ngtcp2_strm *strm; int pkt_empty = 1; - ngtcp2_acktr_ack_entry *ack_ent = NULL; size_t ndatalen = 0; int send_stream = 0; int stream_blocked = 0; @@ -1949,9 +1939,7 @@ tx_strmq_finish: } else { ngtcp2_acktr_commit_ack(&pktns->acktr); pkt_empty = 0; - - ack_ent = ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, - ts, 0 /*ack_only*/); + ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, ts); /* Now ackfr is owned by conn->acktr. */ pkt_empty = 0; } @@ -2009,8 +1997,6 @@ tx_strmq_finish: ngtcp2_strm_shutdown(data_strm, NGTCP2_STRM_FLAG_SHUT_WR); } } - } else if (ack_ent) { - ack_ent->ack_only = 1; } if (pdatalen && send_stream) { @@ -2116,8 +2102,7 @@ static ssize_t conn_write_single_frame_pkt(ngtcp2_conn *conn, uint8_t *dest, /* Do this when we are sure that there is no error. */ if (fr->type == NGTCP2_FRAME_ACK) { ngtcp2_acktr_commit_ack(&pktns->acktr); - ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &fr->ack, ts, - 1 /* ack_only */); + ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &fr->ack, ts); } ++pktns->last_tx_pkt_num; @@ -2274,8 +2259,7 @@ static ssize_t conn_write_probe_ping(ngtcp2_conn *conn, uint8_t *dest, ngtcp2_mem_free(conn->mem, ackfr); } else { ngtcp2_acktr_commit_ack(&pktns->acktr); - ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, ts, - 0 /* ack_only */); + ngtcp2_acktr_add_ack(&pktns->acktr, hd.pkt_num, &ackfr->ack, ts); } ackfr = NULL; } diff --git a/tests/ngtcp2_acktr_test.c b/tests/ngtcp2_acktr_test.c index 4e51f00f4d846ccf134bbecf659e7ab448bbc1aa..9de99965adce42e5690e7d208d5d7cb28c3a3e46 100644 --- a/tests/ngtcp2_acktr_test.c +++ b/tests/ngtcp2_acktr_test.c @@ -332,7 +332,7 @@ void test_ngtcp2_acktr_recv_ack(void) { blks[2].gap = 3; /* 4486, 4485, 4484, (4483) */ blks[2].blklen = 1; /* 4482, 4481 */ - ngtcp2_acktr_add_ack(&acktr, pkt_num, fr, 1000000009, 0 /* ack_only */); + ngtcp2_acktr_add_ack(&acktr, pkt_num, fr, 1000000009); } ackfr.type = NGTCP2_FRAME_ACK;