int (*pause)(struct listener *l); /* temporarily pause this listener for a soft restart */
void (*add)(struct listener *l, int port); /* add a listener for this protocol and port */
- struct list listeners; /* list of listeners using this protocol (under proto_lock) */
- int nb_listeners; /* number of listeners (under proto_lock) */
+ struct list receivers; /* list of receivers using this protocol (under proto_lock) */
+ int nb_receivers; /* number of receivers (under proto_lock) */
struct list list; /* list of registered protocols (under proto_lock) */
};
if (listener->state == LI_ASSIGNED) {
listener_set_state(listener, LI_INIT);
LIST_DEL(&listener->rx.proto_list);
- listener->rx.proto->nb_listeners--;
+ listener->rx.proto->nb_receivers--;
_HA_ATOMIC_SUB(&jobs, 1);
_HA_ATOMIC_SUB(&listeners, 1);
}
.listen = sockpair_bind_listener,
.pause = NULL,
.add = sockpair_add_listener,
- .listeners = LIST_HEAD_INIT(proto_sockpair.listeners),
- .nb_listeners = 0,
+ .receivers = LIST_HEAD_INIT(proto_sockpair.receivers),
+ .nb_receivers = 0,
};
INITCALL1(STG_REGISTER, protocol_register, &proto_sockpair);
return;
listener_set_state(listener, LI_ASSIGNED);
listener->rx.proto = &proto_sockpair;
- LIST_ADDQ(&proto_sockpair.listeners, &listener->rx.proto_list);
- proto_sockpair.nb_listeners++;
+ LIST_ADDQ(&proto_sockpair.receivers, &listener->rx.proto_list);
+ proto_sockpair.nb_receivers++;
}
/* Binds receiver <rx>, and assigns <handler> and rx->owner as the callback and
.listen = tcp_bind_listener,
.pause = tcp_pause_listener,
.add = tcpv4_add_listener,
- .listeners = LIST_HEAD_INIT(proto_tcpv4.listeners),
- .nb_listeners = 0,
+ .receivers = LIST_HEAD_INIT(proto_tcpv4.receivers),
+ .nb_receivers = 0,
};
INITCALL1(STG_REGISTER, protocol_register, &proto_tcpv4);
.listen = tcp_bind_listener,
.pause = tcp_pause_listener,
.add = tcpv6_add_listener,
- .listeners = LIST_HEAD_INIT(proto_tcpv6.listeners),
- .nb_listeners = 0,
+ .receivers = LIST_HEAD_INIT(proto_tcpv6.receivers),
+ .nb_receivers = 0,
};
INITCALL1(STG_REGISTER, protocol_register, &proto_tcpv6);
listener_set_state(listener, LI_ASSIGNED);
listener->rx.proto = &proto_tcpv4;
((struct sockaddr_in *)(&listener->rx.addr))->sin_port = htons(port);
- LIST_ADDQ(&proto_tcpv4.listeners, &listener->rx.proto_list);
- proto_tcpv4.nb_listeners++;
+ LIST_ADDQ(&proto_tcpv4.receivers, &listener->rx.proto_list);
+ proto_tcpv4.nb_receivers++;
}
/* Add <listener> to the list of tcpv6 listeners, on port <port>. The
listener_set_state(listener, LI_ASSIGNED);
listener->rx.proto = &proto_tcpv6;
((struct sockaddr_in *)(&listener->rx.addr))->sin_port = htons(port);
- LIST_ADDQ(&proto_tcpv6.listeners, &listener->rx.proto_list);
- proto_tcpv6.nb_listeners++;
+ LIST_ADDQ(&proto_tcpv6.receivers, &listener->rx.proto_list);
+ proto_tcpv6.nb_receivers++;
}
/* Pause a listener. Returns < 0 in case of failure, 0 if the listener
.listen = udp_bind_listener,
.pause = udp_pause_listener,
.add = udp4_add_listener,
- .listeners = LIST_HEAD_INIT(proto_udp4.listeners),
- .nb_listeners = 0,
+ .receivers = LIST_HEAD_INIT(proto_udp4.receivers),
+ .nb_receivers = 0,
};
INITCALL1(STG_REGISTER, protocol_register, &proto_udp4);
.listen = udp_bind_listener,
.pause = udp_pause_listener,
.add = udp6_add_listener,
- .listeners = LIST_HEAD_INIT(proto_udp6.listeners),
- .nb_listeners = 0,
+ .receivers = LIST_HEAD_INIT(proto_udp6.receivers),
+ .nb_receivers = 0,
};
INITCALL1(STG_REGISTER, protocol_register, &proto_udp6);
listener_set_state(listener, LI_ASSIGNED);
listener->rx.proto = &proto_udp4;
((struct sockaddr_in *)(&listener->rx.addr))->sin_port = htons(port);
- LIST_ADDQ(&proto_udp4.listeners, &listener->rx.proto_list);
- proto_udp4.nb_listeners++;
+ LIST_ADDQ(&proto_udp4.receivers, &listener->rx.proto_list);
+ proto_udp4.nb_receivers++;
}
/* Add <listener> to the list of udp6 listeners, on port <port>. The
listener_set_state(listener, LI_ASSIGNED);
listener->rx.proto = &proto_udp6;
((struct sockaddr_in *)(&listener->rx.addr))->sin_port = htons(port);
- LIST_ADDQ(&proto_udp6.listeners, &listener->rx.proto_list);
- proto_udp6.nb_listeners++;
+ LIST_ADDQ(&proto_udp6.receivers, &listener->rx.proto_list);
+ proto_udp6.nb_receivers++;
}
/* Pause a listener. Returns < 0 in case of failure, 0 if the listener
.listen = uxst_bind_listener,
.pause = uxst_pause_listener,
.add = uxst_add_listener,
- .listeners = LIST_HEAD_INIT(proto_unix.listeners),
- .nb_listeners = 0,
+ .receivers = LIST_HEAD_INIT(proto_unix.receivers),
+ .nb_receivers = 0,
};
INITCALL1(STG_REGISTER, protocol_register, &proto_unix);
return;
listener_set_state(listener, LI_ASSIGNED);
listener->rx.proto = &proto_unix;
- LIST_ADDQ(&proto_unix.listeners, &listener->rx.proto_list);
- proto_unix.nb_listeners++;
+ LIST_ADDQ(&proto_unix.receivers, &listener->rx.proto_list);
+ proto_unix.nb_receivers++;
}
/* Pause a listener. Returns < 0 in case of failure, 0 if the listener
err = 0;
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
list_for_each_entry(proto, &protocols, list) {
- list_for_each_entry(receiver, &proto->listeners, proto_list) {
+ list_for_each_entry(receiver, &proto->receivers, proto_list) {
listener = LIST_ELEM(receiver, struct listener *, rx);
/* FIXME: horrible hack, we don't have a way to register
err = 0;
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
list_for_each_entry(proto, &protocols, list) {
- list_for_each_entry(listener, &proto->listeners, rx.proto_list)
+ list_for_each_entry(listener, &proto->receivers, rx.proto_list)
unbind_listener(listener);
}
HA_SPIN_UNLOCK(PROTO_LOCK, &proto_lock);
err = 0;
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
list_for_each_entry(proto, &protocols, list) {
- list_for_each_entry(listener, &proto->listeners, rx.proto_list)
+ list_for_each_entry(listener, &proto->receivers, rx.proto_list)
if (!pause_listener(listener))
err |= ERR_FATAL;
}
err = 0;
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
list_for_each_entry(proto, &protocols, list) {
- list_for_each_entry(listener, &proto->listeners, rx.proto_list)
+ list_for_each_entry(listener, &proto->receivers, rx.proto_list)
if (!resume_listener(listener))
err |= ERR_FATAL;
}
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
list_for_each_entry(proto, &protocols, list) {
- list_for_each_entry(listener, &proto->listeners, rx.proto_list)
+ list_for_each_entry(listener, &proto->receivers, rx.proto_list)
enable_listener(listener);
}
HA_SPIN_UNLOCK(PROTO_LOCK, &proto_lock);