Yu Zhu
October 24, 2023 12:16AM
Hi,

nginx quic splits 4-tuple into ngx_quic_socket_t for receiving packets and
ngx_quic_path_t for sending packets.

nginx also has struct ngx_quic_send_ctx_t for parsing received packets and
assembling the packet to be sent. So, shall we split ngx_quic_send_ctx_t
based on rx and tx?

ngx_quic_send_ctx_t

enum ssl_encryption_level_t level;

ngx_quic_buffer_t crypto;
uint64_t crypto_sent;
uint64_t largest_ack; /* received from peer */

uint64_t pnum; /* to be sent */
ngx_queue_t frames; /* generated frames */
ngx_queue_t sending; /* frames assigned to pkt */
ngx_queue_t sent; /* frames waiting ACK */


ngx_quic_recv_ctx_t

enum ssl_encryption_level_t level;
uint64_t largest_pn; /* received from peer */
uint64_t pending_ack; /* non sent ack-eliciting */
uint64_t largest_range;
uint64_t first_range;
ngx_msec_t largest_received;
ngx_msec_t ack_delay_start;
ngx_uint_t nranges;
ngx_quic_ack_range_t ranges[NGX_QUIC_MAX_RANGES];
ngx_uint_t send_ack;


Best regards
Yu Zhu
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

refactor ngx_quic_send_ctx_t?

Yu Zhu 286 October 24, 2023 12:16AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 106
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready