+#define io_write_partial(data, len, cb, arg) \
+ io_write_partial_((data), (len), \
+ typesafe_cb_preargs(struct io_plan, void *, \
+ (cb), (arg), struct io_conn *), \
+ (arg))
+struct io_plan io_write_partial_(const void *data, size_t *len,
+ struct io_plan (*cb)(struct io_conn *, void*),
+ void *arg);
+
+/**
+ * io_idle - plan to do nothing.
+ *
+ * This indicates the connection is idle: io_wake() will be called later do
+ * give the connection a new plan.
+ */
+struct io_plan io_idle(void);