mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
evhttp: Add evhttp_foreach_bound_socket.
Applies the function specified in the first argument to all evhttp_bound_sockets associated with a struct evhttp. The user must not attempt to free or remove any connections, sockets or listeners in the callback function.
This commit is contained in:
parent
356554c8dc
commit
a2c48e3be8
10
http.c
10
http.c
@ -3239,6 +3239,16 @@ evhttp_accept_socket(struct evhttp *http, evutil_socket_t fd)
|
||||
return (0);
|
||||
}
|
||||
|
||||
void
|
||||
evhttp_foreach_bound_socket(struct evhttp *http,
|
||||
evhttp_bound_socket_foreach_fn *function,
|
||||
void *argument)
|
||||
{
|
||||
struct evhttp_bound_socket *bound;
|
||||
|
||||
TAILQ_FOREACH(bound, &http->sockets, next)
|
||||
function(bound, argument);
|
||||
}
|
||||
|
||||
struct evhttp_bound_socket *
|
||||
evhttp_accept_socket_with_handle(struct evhttp *http, evutil_socket_t fd)
|
||||
|
@ -150,6 +150,19 @@ struct evhttp_bound_socket *evhttp_bind_listener(struct evhttp *http, struct evc
|
||||
*/
|
||||
struct evconnlistener *evhttp_bound_socket_get_listener(struct evhttp_bound_socket *bound);
|
||||
|
||||
typedef void evhttp_bound_socket_foreach_fn(struct evhttp_bound_socket *, void *);
|
||||
/**
|
||||
* Applies the function specified in the first argument to all
|
||||
* evhttp_bound_sockets associated with "http". The user must not
|
||||
* attempt to free or remove any connections, sockets or listeners
|
||||
* in the callback "function".
|
||||
*
|
||||
* @param http pointer to an evhttp object
|
||||
* @param function function to apply to every bound socket
|
||||
* @param argument pointer value passed to function for every socket iterated
|
||||
*/
|
||||
void evhttp_foreach_bound_socket(struct evhttp *http, evhttp_bound_socket_foreach_fn *function, void *argument);
|
||||
|
||||
/**
|
||||
* Makes an HTTP server stop accepting connections on the specified socket
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user