X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fio%2Ftest%2Frun-17-homemade-io.c;h=150bcbdc4b4ad88c0a8723092d033325478ab868;hb=f08b8139fc7370224c59bc3178b887810b98592b;hp=325a7468eb4ac4b08b1ac7fc2b7abc1a565942f0;hpb=318f717e34e4735e5397bee24dbbee69205be82b;p=ccan diff --git a/ccan/io/test/run-17-homemade-io.c b/ccan/io/test/run-17-homemade-io.c index 325a7468..150bcbdc 100644 --- a/ccan/io/test/run-17-homemade-io.c +++ b/ccan/io/test/run-17-homemade-io.c @@ -6,11 +6,7 @@ #include #include -#ifdef DEBUG_CONN -#define PORT "64017" -#else #define PORT "65017" -#endif struct packet { int state; @@ -25,19 +21,19 @@ static void finish_ok(struct io_conn *conn, struct packet *pkt) io_break(pkt); } -static int do_read_packet(int fd, struct io_plan *plan) +static int do_read_packet(int fd, struct io_plan_arg *arg) { - struct packet *pkt = plan->u1.vp; + struct packet *pkt = arg->u1.vp; char *dest; ssize_t ret; size_t off, totlen; /* Reading len? */ - if (plan->u2.s < sizeof(size_t)) { + if (arg->u2.s < sizeof(size_t)) { ok1(pkt->state == 1); pkt->state++; dest = (char *)&pkt->len; - off = plan->u2.s; + off = arg->u2.s; totlen = sizeof(pkt->len); } else { ok1(pkt->state == 2); @@ -48,7 +44,7 @@ static int do_read_packet(int fd, struct io_plan *plan) goto fail; else { dest = pkt->contents; - off = plan->u2.s - sizeof(pkt->len); + off = arg->u2.s - sizeof(pkt->len); totlen = pkt->len; } } @@ -57,11 +53,11 @@ static int do_read_packet(int fd, struct io_plan *plan) if (ret <= 0) goto fail; - plan->u2.s += ret; + arg->u2.s += ret; /* Finished? */ - return plan->u2.s >= sizeof(pkt->len) - && plan->u2.s == pkt->len + sizeof(pkt->len); + return arg->u2.s >= sizeof(pkt->len) + && arg->u2.s == pkt->len + sizeof(pkt->len); fail: free(pkt->contents); @@ -70,24 +66,21 @@ fail: static struct io_plan *io_read_packet(struct io_conn *conn, struct packet *pkt, - struct io_plan *(*cb)(struct io_conn *, void *), - void *arg) + struct io_plan *(*cb)(struct io_conn *, + void *), + void *cb_arg) { - struct io_plan *plan = io_get_plan(conn, IO_IN); + struct io_plan_arg *arg = io_plan_arg(conn, IO_IN); - assert(cb); pkt->contents = NULL; - plan->u1.vp = pkt; - plan->u2.s = 0; + arg->u1.vp = pkt; + arg->u2.s = 0; - return io_set_plan(conn, plan, do_read_packet, cb, arg); + return io_set_plan(conn, IO_IN, do_read_packet, cb, cb_arg); } static struct io_plan *init_conn(struct io_conn *conn, struct packet *pkt) { -#ifdef DEBUG_CONN - io_set_debug(conn, true); -#endif ok1(pkt->state == 0); pkt->state++;