mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-10 13:04:23 -04: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);
|
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 *
|
struct evhttp_bound_socket *
|
||||||
evhttp_accept_socket_with_handle(struct evhttp *http, evutil_socket_t fd)
|
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);
|
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
|
* Makes an HTTP server stop accepting connections on the specified socket
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user