Mercurial > hg > nginx-quic
comparison src/event/ngx_event_quic_transport.c @ 7710:d60205f37f5a quic
Fixed ACKs to packet numbers greater than 63.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Fri, 20 Mar 2020 09:23:31 +0300 |
parents | 59e639379c7c |
children | a14afe21e692 |
comparison
equal
deleted
inserted
replaced
7709:59e639379c7c | 7710:d60205f37f5a |
---|---|
829 | 829 |
830 | 830 |
831 static size_t | 831 static size_t |
832 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack) | 832 ngx_quic_create_ack(u_char *p, ngx_quic_ack_frame_t *ack) |
833 { | 833 { |
834 size_t len; | 834 size_t len; |
835 u_char *start; | |
835 | 836 |
836 /* minimal ACK packet */ | 837 /* minimal ACK packet */ |
837 | 838 |
838 if (p == NULL) { | 839 if (p == NULL) { |
839 len = ngx_quic_varint_len(NGX_QUIC_FT_ACK); | 840 len = ngx_quic_varint_len(NGX_QUIC_FT_ACK); |
843 len += ngx_quic_varint_len(ack->pn); | 844 len += ngx_quic_varint_len(ack->pn); |
844 | 845 |
845 return len; | 846 return len; |
846 } | 847 } |
847 | 848 |
849 start = p; | |
850 | |
848 ngx_quic_build_int(&p, NGX_QUIC_FT_ACK); | 851 ngx_quic_build_int(&p, NGX_QUIC_FT_ACK); |
849 ngx_quic_build_int(&p, ack->pn); | 852 ngx_quic_build_int(&p, ack->pn); |
850 ngx_quic_build_int(&p, 0); | 853 ngx_quic_build_int(&p, 0); |
851 ngx_quic_build_int(&p, 0); | 854 ngx_quic_build_int(&p, 0); |
852 ngx_quic_build_int(&p, ack->pn); | 855 ngx_quic_build_int(&p, ack->pn); |
853 | 856 |
854 return 5; | 857 return p - start; |
855 } | 858 } |
856 | 859 |
857 | 860 |
858 static size_t | 861 static size_t |
859 ngx_quic_create_crypto(u_char *p, ngx_quic_crypto_frame_t *crypto) | 862 ngx_quic_create_crypto(u_char *p, ngx_quic_crypto_frame_t *crypto) |