- * struct io_conn *sleeper;
- * sleeper = io_new_conn(open("/dev/null", O_RDONLY), io_idle());
- *
- * io_wake(sleeper, io_write("junk", 4, io_close_cb, NULL));
- */
-#define io_wake(conn, plan) (io_plan_no_debug(), io_wake_((conn), (plan)))
-void io_wake_(struct io_conn *conn, struct io_plan plan);
-
-/**
- * io_break - return from io_loop()
- * @ret: non-NULL value to return from io_loop().
- * @plan: I/O to perform on return (if any)
- *
- * This breaks out of the io_loop. As soon as the current @next
- * function returns, any io_closed()'d connections will have their
- * finish callbacks called, then io_loop() with return with @ret.
- *
- * If io_loop() is called again, then @plan will be carried out.
- *
- * Example:
- * static struct io_plan fail_on_timeout(struct io_conn *conn, char *msg)
- * {
- * return io_break(msg, io_close());
- * }
+ * static struct io_plan *break_out(struct io_conn *conn, void *unused)
+ * {
+ * io_break(conn);
+ * // We won't ever return from io_break
+ * return io_never(conn);
+ * }