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 odroute_pool_t odroute_pool_t;
|
|
|
|
|
|
|
|
struct odroute_pool_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(odroute_pool_t*);
|
|
|
|
void od_routepool_free(odroute_pool_t*);
|
|
|
|
|
2016-11-29 13:19:12 +00:00
|
|
|
od_route_t*
|
2016-11-29 13:09:16 +00:00
|
|
|
od_routepool_new(odroute_pool_t*, od_schemeroute_t*,
|
2016-11-29 13:18:16 +00:00
|
|
|
od_routeid_t*);
|
2016-11-11 09:40:58 +00:00
|
|
|
|
2016-11-29 13:19:12 +00:00
|
|
|
void od_routepool_unlink(odroute_pool_t*, od_route_t*);
|
2016-11-11 09:40:58 +00:00
|
|
|
|
2016-11-29 13:19:12 +00:00
|
|
|
od_route_t*
|
2016-11-29 13:18:16 +00:00
|
|
|
od_routepool_match(odroute_pool_t*, od_routeid_t*);
|
2016-11-11 09:40:58 +00:00
|
|
|
|
2016-11-29 13:13:42 +00:00
|
|
|
od_server_t*
|
|
|
|
od_routepool_pop(odroute_pool_t*, od_serverstate_t);
|
2016-11-15 12:59:55 +00:00
|
|
|
|
2016-11-29 13:13:42 +00:00
|
|
|
od_server_t*
|
|
|
|
od_routepool_foreach(odroute_pool_t*, od_serverstate_t,
|
2016-11-29 13:17:16 +00:00
|
|
|
od_serverpool_cb_t, void*);
|
2016-11-15 12:28:39 +00:00
|
|
|
|
2016-11-11 09:40:58 +00:00
|
|
|
#endif
|