odyssey/core/od_route_pool.h

37 lines
733 B
C
Raw Normal View History

2016-11-11 09:40:58 +00:00
#ifndef OD_ROUTE_POOL_H_
#define OD_ROUTE_POOL_H_
/*
* odissey.
*
* PostgreSQL connection pooler and request router.
*/
typedef struct od_routepool_t od_routepool_t;
2016-11-11 09:40:58 +00:00
struct od_routepool_t {
2016-11-29 13:03:39 +00:00
od_list_t list;
int count;
2016-11-11 09:40:58 +00:00
};
void od_routepool_init(od_routepool_t*);
void od_routepool_free(od_routepool_t*);
2016-11-11 09:40:58 +00:00
2016-11-29 13:19:12 +00:00
od_route_t*
od_routepool_new(od_routepool_t*, od_schemeroute_t*,
od_routeid_t*);
2016-11-11 09:40:58 +00:00
void od_routepool_unlink(od_routepool_t*, od_route_t*);
2016-11-11 09:40:58 +00:00
2016-11-29 13:19:12 +00:00
od_route_t*
od_routepool_match(od_routepool_t*, od_routeid_t*);
2016-11-11 09:40:58 +00:00
od_server_t*
od_routepool_next(od_routepool_t*, od_serverstate_t);
od_server_t*
od_routepool_foreach(od_routepool_t*, od_serverstate_t,
od_serverpool_cb_t, void*);
2016-11-11 09:40:58 +00:00
#endif