int (*listen)(struct listener *l, char *errmsg, int errlen); /* start a listener */
/* functions acting on the receiver */
+ void (*rx_enable)(struct receiver *rx); /* enable receiving on the receiver */
+ void (*rx_disable)(struct receiver *rx); /* disable receiving on the receiver */
int (*rx_suspend)(struct receiver *rx); /* temporarily suspend this receiver for a soft restart */
int (*rx_resume)(struct receiver *rx); /* try to resume a temporarily suspended receiver */
#include <haproxy/listener.h>
#include <haproxy/protocol.h>
#include <haproxy/proto_sockpair.h>
+#include <haproxy/sock.h>
#include <haproxy/time.h>
#include <haproxy/tools.h>
#include <haproxy/version.h>
.sock_prot = 0,
.add = sockpair_add_listener,
.listen = sockpair_bind_listener,
+ .rx_enable = sock_enable,
+ .rx_disable = sock_disable,
.accept = &listener_accept,
.connect = &sockpair_connect_server,
.receivers = LIST_HEAD_INIT(proto_sockpair.receivers),
.sock_prot = IPPROTO_TCP,
.add = tcpv4_add_listener,
.listen = tcp_bind_listener,
+ .rx_enable = sock_enable,
+ .rx_disable = sock_disable,
.rx_suspend = tcp_suspend_receiver,
.rx_resume = tcp_resume_receiver,
.accept = &listener_accept,
.sock_prot = IPPROTO_TCP,
.add = tcpv6_add_listener,
.listen = tcp_bind_listener,
+ .rx_enable = sock_enable,
+ .rx_disable = sock_disable,
.rx_suspend = tcp_suspend_receiver,
.rx_resume = tcp_resume_receiver,
.accept = &listener_accept,
.sock_prot = IPPROTO_UDP,
.add = udp4_add_listener,
.listen = udp_bind_listener,
+ .rx_enable = sock_enable,
+ .rx_disable = sock_disable,
.rx_suspend = udp_suspend_receiver,
.receivers = LIST_HEAD_INIT(proto_udp4.receivers),
.nb_receivers = 0,
.sock_prot = IPPROTO_UDP,
.add = udp6_add_listener,
.listen = udp_bind_listener,
+ .rx_enable = sock_enable,
+ .rx_disable = sock_disable,
.rx_suspend = udp_suspend_receiver,
.receivers = LIST_HEAD_INIT(proto_udp6.receivers),
.nb_receivers = 0,
.sock_prot = 0,
.add = uxst_add_listener,
.listen = uxst_bind_listener,
+ .rx_enable = sock_enable,
+ .rx_disable = sock_disable,
.rx_suspend = uxst_suspend_receiver,
.accept = &listener_accept,
.connect = &uxst_connect_server,