Mercurial > hg > nginx
comparison src/event/ngx_event_quic.c @ 8209:36fe31ce9582 quic
Removed hardcoded CRYPTO and ACK frame sizes.
author | Vladimir Homutov <vl@nginx.com> |
---|---|
date | Thu, 12 Mar 2020 14:23:27 +0300 |
parents | 4ae9ac69ab93 |
children | 6bc18966b8c1 |
comparison
equal
deleted
inserted
replaced
8208:4ae9ac69ab93 | 8209:36fe31ce9582 |
---|---|
589 | 589 |
590 | 590 |
591 static size_t | 591 static size_t |
592 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack) | 592 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack) |
593 { | 593 { |
594 size_t len; | |
595 | |
596 /* minimal ACK packet */ | |
597 | |
594 if (p == NULL) { | 598 if (p == NULL) { |
595 return 5; /* minimal ACK */ | 599 len = ngx_quic_varint_len(NGX_QUIC_FT_ACK); |
600 len += ngx_quic_varint_len(ack->pn); | |
601 len += ngx_quic_varint_len(0); | |
602 len += ngx_quic_varint_len(0); | |
603 len += ngx_quic_varint_len(ack->pn); | |
604 | |
605 return len; | |
596 } | 606 } |
597 | 607 |
598 ngx_quic_build_int(&p, NGX_QUIC_FT_ACK); | 608 ngx_quic_build_int(&p, NGX_QUIC_FT_ACK); |
599 ngx_quic_build_int(&p, ack->pn); | 609 ngx_quic_build_int(&p, ack->pn); |
600 ngx_quic_build_int(&p, 0); | 610 ngx_quic_build_int(&p, 0); |
606 | 616 |
607 | 617 |
608 static size_t | 618 static size_t |
609 ngx_quic_create_crypto(u_char *p, ngx_quic_crypto_frame_t *crypto) | 619 ngx_quic_create_crypto(u_char *p, ngx_quic_crypto_frame_t *crypto) |
610 { | 620 { |
621 size_t len; | |
611 u_char *start; | 622 u_char *start; |
612 | 623 |
613 if (p == NULL) { | 624 if (p == NULL) { |
614 return 2 + ngx_quic_varint_len(crypto->len) + crypto->len; | 625 len = ngx_quic_varint_len(NGX_QUIC_FT_CRYPTO); |
626 len += ngx_quic_varint_len(crypto->offset); | |
627 len += ngx_quic_varint_len(crypto->len); | |
628 len += crypto->len; | |
629 | |
630 return len; | |
615 } | 631 } |
616 | 632 |
617 start = p; | 633 start = p; |
618 | 634 |
619 ngx_quic_build_int(&p, NGX_QUIC_FT_CRYPTO); | 635 ngx_quic_build_int(&p, NGX_QUIC_FT_CRYPTO); |