+static struct io_plan *read_buf(struct io_conn *conn, struct data *d)
+{
+ return io_read(conn, d->buf, sizeof(d->buf), read_done, d);
+}
+
+static struct io_plan *init_waker(struct io_conn *conn, void *unused)
+{
+ /* This is /dev/null, so will never succeed. */
+ return io_read(conn, unused, 1, never, NULL);
+}
+
+static struct io_plan *init_idle(struct io_conn *conn, struct data *d)