haproxy/include/haproxy/quic_sock-t.h
Amaury Denoyelle 3ef6df7387 MINOR: quic: define quic-socket bind setting
Define a new bind option quic-socket :
  quic-socket [ connection | listener ]

This new setting works in conjunction with the existing configuration
global tune.quic.socket-owner and reuse the same semantics.

The purpose of this setting is to allow to disable connection socket
usage on listener instances individually. This will notably be useful
when needing to deactivating it when encountered a fatal permission
error on bind() at runtime.
2023-10-03 16:49:26 +02:00

27 lines
950 B
C

#ifndef _HAPROXY_QUIC_SOCK_T_H
#define _HAPROXY_QUIC_SOCK_T_H
#ifdef USE_QUIC
/* QUIC socket allocation strategy. */
enum quic_sock_mode {
QUIC_SOCK_MODE_CONN, /* Use a dedicated socket per connection. */
QUIC_SOCK_MODE_LSTNR, /* Multiplex connections over listener socket. */
};
/* QUIC connection accept queue. One per thread. */
struct quic_accept_queue {
struct mt_list listeners; /* QUIC listeners with at least one connection ready to be accepted on this queue */
struct tasklet *tasklet; /* task responsible to call listener_accept */
};
/* Buffer used to receive QUIC datagrams on random thread and redispatch them
* to the connection thread.
*/
struct quic_receiver_buf {
struct buffer buf; /* storage for datagrams received. */
struct list dgram_list; /* datagrams received with this rxbuf. */
struct mt_list rxbuf_el; /* list element into receiver.rxbuf_list. */
};
#endif /* USE_QUIC */
#endif /* _HAPROXY_QUIC_SOCK_T_H */