8 typedef struct _mps_result mps_result_t;
10 struct mps_ctx *mps_new(void);
11 struct mps_ctx *mps_new_mm(void *(*malloc)(size_t size),
12 void (*free)(void *ptr),
13 void *(*realloc)(void *ptr, size_t size));
14 mps_result_t mps_set_pmtu(struct mps_ctx * ctx, int pmtu);
15 mps_result_t mps_open(struct mps_ctx *ctx);
16 void mps_destroy(struct mps_ctx *ctx);
17 int mps_getfd(struct mps_ctx *ctx);
18 bool mps_need_write_wait(mps_result_t result);
19 mps_result_t mps_ev_rd(struct mps_ctx *ctx);
20 mps_result_t mps_ev_wr(struct mps_ctx *ctx);
21 mps_result_t mps_ev_ex(struct mps_ctx *ctx);
22 mps_result_t mps_subscribe(struct mps_ctx * ctx, char *channel);
23 mps_result_t mps_publish(struct mps_ctx * ctx, char *channel,
24 void *data, size_t size);
25 bool mps_message(struct mps_ctx * ctx, char **channel,
26 void **data, size_t *size);