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