odyssey/core/od_server.h

52 lines
729 B
C
Raw Normal View History

2016-11-09 11:01:08 +00:00
#ifndef OD_SERVER_H_
#define OD_SERVER_H_
/*
* odissey.
*
* PostgreSQL connection pooler and request router.
*/
typedef struct odserver_t odserver_t;
typedef enum {
OD_SUNDEF,
OD_SIDLE,
OD_SCONNECT,
OD_SACTIVE
} odserver_state_t;
struct odserver_t {
odserver_state_t state;
odscheme_server_t *scheme;
2016-11-09 11:33:25 +00:00
ftio_t io;
2016-11-09 11:01:08 +00:00
odlist_t link;
};
static inline void
od_serverinit(odserver_t *s)
{
s->state = OD_SUNDEF;
s->scheme = NULL;
2016-11-09 11:33:25 +00:00
s->io = NULL;
2016-11-09 11:01:08 +00:00
od_listinit(&s->link);
}
static inline odserver_t*
od_serveralloc(void)
{
odserver_t *s = malloc(sizeof(*s));
if (s == NULL)
return NULL;
od_serverinit(s);
return s;
}
static inline void
od_serverfree(odserver_t *s)
{
free(s);
}
#endif