mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-22 18:43:30 +02:00
Move the TX part of the code to quic_tx.c. Add quic_tx-t.h and quic_tx.h headers for this TX part code. The definition of quic_tx_packet struct has been move from quic_conn-t.h to quic_tx-t.h. Same thing for the TX part: Move the RX part of the code to quic_rx.c. Add quic_rx-t.h and quic_rx.h headers for this TX part code. The definition of quic_rx_packet struct has been move from quic_conn-t.h to quic_rx-t.h.
52 lines
1.8 KiB
C
52 lines
1.8 KiB
C
#ifndef _HAPROXY_TX_T_H
|
|
#define _HAPROXY_TX_T_H
|
|
|
|
extern struct pool_head *pool_head_quic_tx_packet;
|
|
|
|
/* Flag a sent packet as being an ack-eliciting packet. */
|
|
#define QUIC_FL_TX_PACKET_ACK_ELICITING (1UL << 0)
|
|
/* Flag a sent packet as containing a PADDING frame. */
|
|
#define QUIC_FL_TX_PACKET_PADDING (1UL << 1)
|
|
/* Flag a sent packet as being in flight. */
|
|
#define QUIC_FL_TX_PACKET_IN_FLIGHT (QUIC_FL_TX_PACKET_ACK_ELICITING | QUIC_FL_TX_PACKET_PADDING)
|
|
/* Flag a sent packet as containing a CONNECTION_CLOSE frame */
|
|
#define QUIC_FL_TX_PACKET_CC (1UL << 2)
|
|
/* Flag a sent packet as containing an ACK frame */
|
|
#define QUIC_FL_TX_PACKET_ACK (1UL << 3)
|
|
/* Flag a sent packet as being coalesced to another one in the same datagram */
|
|
#define QUIC_FL_TX_PACKET_COALESCED (1UL << 4)
|
|
/* Flag a sent packet as being probing with old data */
|
|
#define QUIC_FL_TX_PACKET_PROBE_WITH_OLD_DATA (1UL << 5)
|
|
|
|
/* Structure to store enough information about TX QUIC packets. */
|
|
struct quic_tx_packet {
|
|
/* List entry point. */
|
|
struct list list;
|
|
/* Packet length */
|
|
size_t len;
|
|
/* This is not the packet length but the length of outstanding data
|
|
* for in flight TX packet.
|
|
*/
|
|
size_t in_flight_len;
|
|
struct eb64_node pn_node;
|
|
/* The list of frames of this packet. */
|
|
struct list frms;
|
|
/* The time this packet was sent (ms). */
|
|
unsigned int time_sent;
|
|
/* Packet number spakce. */
|
|
struct quic_pktns *pktns;
|
|
/* Flags. */
|
|
unsigned int flags;
|
|
/* Reference counter */
|
|
int refcnt;
|
|
/* Next packet in the same datagram */
|
|
struct quic_tx_packet *next;
|
|
/* Previous packet in the same datagram */
|
|
struct quic_tx_packet *prev;
|
|
/* Largest acknowledged packet number if this packet contains an ACK frame */
|
|
int64_t largest_acked_pn;
|
|
unsigned char type;
|
|
};
|
|
|
|
#endif /* _HAPROXY_TX_T_H */
|