* @io: function to call when fd becomes read/writable, returns 0 to be
* called again, 1 if it's finished, and -1 on error (fd will be closed)
* @next: the next function which is called if io returns 1.
* @io: function to call when fd becomes read/writable, returns 0 to be
* called again, 1 if it's finished, and -1 on error (fd will be closed)
* @next: the next function which is called if io returns 1.
bool add_conn(struct io_conn *c);
bool add_duplex(struct io_conn *c);
void del_listener(struct io_listener *l);
bool add_conn(struct io_conn *c);
bool add_duplex(struct io_conn *c);
void del_listener(struct io_listener *l);
void backend_new_always(struct io_conn *conn);
void backend_new_plan(struct io_conn *conn);
void remove_from_always(struct io_conn *conn);
void backend_plan_done(struct io_conn *conn);
void backend_wake(const void *wait);
void backend_new_always(struct io_conn *conn);
void backend_new_plan(struct io_conn *conn);
void remove_from_always(struct io_conn *conn);
void backend_plan_done(struct io_conn *conn);
void backend_wake(const void *wait);
void io_ready(struct io_conn *conn, int pollflags);
void io_do_always(struct io_conn *conn);
void io_ready(struct io_conn *conn, int pollflags);
void io_do_always(struct io_conn *conn);