odyssey/core/od_route_pool.h

37 lines
729 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 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*);
odroute_t*
od_routepool_new(odroute_pool_t*, od_schemeroute_t*,
odroute_id_t*);
2016-11-11 09:40:58 +00:00
void od_routepool_unlink(odroute_pool_t*, odroute_t*);
odroute_t*
2016-11-11 10:42:30 +00:00
od_routepool_match(odroute_pool_t*, odroute_id_t*);
2016-11-11 09:40:58 +00:00
od_server_t*
od_routepool_pop(odroute_pool_t*, od_serverstate_t);
od_server_t*
od_routepool_foreach(odroute_pool_t*, od_serverstate_t,
odserver_pool_cb_t, void*);
2016-11-11 09:40:58 +00:00
#endif