MINOR: quic: Redefine control layer callbacks which are QUIC specific.
We add src/quic_sock.c QUIC specific socket management functions as callbacks
for the control layer: ->accept_conn, ->default_iocb and ->rx_listening.
accept_conn() will have to be defined. The default I/O handler only recvfrom()
the datagrams received. Furthermore, ->rx_listening callback always returns 1 at
this time but should returns 0 when reloading the processus.
diff --git a/src/proto_quic.c b/src/proto_quic.c
index bde3e48..751fc49 100644
--- a/src/proto_quic.c
+++ b/src/proto_quic.c
@@ -41,6 +41,7 @@
#include <haproxy/proto_udp.h>
#include <haproxy/proxy-t.h>
#include <haproxy/sock.h>
+#include <haproxy/quic_sock.h>
#include <haproxy/sock_inet.h>
#include <haproxy/tools.h>
@@ -63,7 +64,7 @@
.unbind = default_unbind_listener,
.suspend = default_suspend_listener,
.resume = default_resume_listener,
- .accept_conn = sock_accept_conn,
+ .accept_conn = quic_sock_accept_conn,
.connect = quic_connect_server,
/* binding layer */
@@ -79,8 +80,8 @@
.rx_enable = sock_enable,
.rx_disable = sock_disable,
.rx_unbind = sock_unbind,
- .rx_listening = sock_accepting_conn,
- .default_iocb = sock_accept_iocb,
+ .rx_listening = quic_sock_accepting_conn,
+ .default_iocb = quic_sock_fd_iocb,
.receivers = LIST_HEAD_INIT(proto_quic4.receivers),
.nb_receivers = 0,
};
@@ -100,7 +101,7 @@
.unbind = default_unbind_listener,
.suspend = default_suspend_listener,
.resume = default_resume_listener,
- .accept_conn = sock_accept_conn,
+ .accept_conn = quic_sock_accept_conn,
.connect = quic_connect_server,
/* binding layer */
@@ -116,8 +117,8 @@
.rx_enable = sock_enable,
.rx_disable = sock_disable,
.rx_unbind = sock_unbind,
- .rx_listening = sock_accepting_conn,
- .default_iocb = sock_accept_iocb,
+ .rx_listening = quic_sock_accepting_conn,
+ .default_iocb = quic_sock_fd_iocb,
.receivers = LIST_HEAD_INIT(proto_quic6.receivers),
.nb_receivers = 0,
};