comparison src/event/quic/ngx_event_quic_transport.c @ 8797:4715f3e669f1 quic

QUIC: updated specification references. This includes updating citations and further clarification.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 16 Jun 2021 11:55:12 +0300
parents 81d491f0dc8c
children 4009f120cad4
comparison
equal deleted inserted replaced
8796:1fec68e322d0 8797:4715f3e669f1
1125 static ngx_int_t 1125 static ngx_int_t
1126 ngx_quic_frame_allowed(ngx_quic_header_t *pkt, ngx_uint_t frame_type) 1126 ngx_quic_frame_allowed(ngx_quic_header_t *pkt, ngx_uint_t frame_type)
1127 { 1127 {
1128 uint8_t ptype; 1128 uint8_t ptype;
1129 1129
1130 /* frame permissions per packet: 4 bits: IH01: 12.4, Table 3 */ 1130 /*
1131 * RFC 9000, 12.4. Frames and Frame Types: Table 3
1132 *
1133 * Frame permissions per packet: 4 bits: IH01
1134 */
1131 static uint8_t ngx_quic_frame_masks[] = { 1135 static uint8_t ngx_quic_frame_masks[] = {
1132 /* PADDING */ 0xF, 1136 /* PADDING */ 0xF,
1133 /* PING */ 0xF, 1137 /* PING */ 0xF,
1134 /* ACK */ 0xD, 1138 /* ACK */ 0xD,
1135 /* ACK_ECN */ 0xD, 1139 /* ACK_ECN */ 0xD,
1240 1244
1241 ssize_t 1245 ssize_t
1242 ngx_quic_create_frame(u_char *p, ngx_quic_frame_t *f) 1246 ngx_quic_create_frame(u_char *p, ngx_quic_frame_t *f)
1243 { 1247 {
1244 /* 1248 /*
1245 * QUIC-recovery, section 2: 1249 * RFC 9002, 2. Conventions and Definitions
1246 * 1250 *
1247 * Ack-eliciting Frames: All frames other than ACK, PADDING, and 1251 * Ack-eliciting frames: All frames other than ACK, PADDING, and
1248 * CONNECTION_CLOSE are considered ack-eliciting. 1252 * CONNECTION_CLOSE are considered ack-eliciting.
1249 */ 1253 */
1250 f->need_ack = 1; 1254 f->need_ack = 1;
1251 1255
1252 switch (f->type) { 1256 switch (f->type) {