l->fd.listener = true;
l->fd.fd = fd;
- l->fd.next = start;
- l->fd.finish = finish;
- l->fd.finish_arg = l->fd.next_arg = arg;
+ l->next = start;
+ l->finish = finish;
+ l->conn_arg = arg;
if (!add_listener(l)) {
free(l);
return NULL;
conn->fd.listener = false;
conn->fd.fd = fd;
- conn->fd.next = start;
- conn->fd.finish = finish;
- conn->fd.finish_arg = conn->fd.next_arg = arg;
+ conn->next = start;
+ conn->finish = finish;
+ conn->finish_arg = conn->next_arg = arg;
conn->pollflag = 0;
conn->state = NEXT;
conn->duplex = NULL;
conn->fd.listener = false;
conn->fd.fd = old->fd.fd;
- conn->fd.next = start;
- conn->fd.finish = finish;
- conn->fd.finish_arg = conn->fd.next_arg = arg;
+ conn->next = start;
+ conn->finish = finish;
+ conn->finish_arg = conn->next_arg = arg;
conn->pollflag = 0;
conn->state = NEXT;
conn->duplex = old;
{
conn->u.write.buf = data;
conn->u.write.len = len;
- conn->fd.next = cb;
- conn->fd.next_arg = arg;
+ conn->next = cb;
+ conn->next_arg = arg;
conn->pollflag = POLLOUT;
return to_ioplan(WRITE);
}
{
conn->u.read.buf = data;
conn->u.read.len = len;
- conn->fd.next = cb;
- conn->fd.next_arg = arg;
+ conn->next = cb;
+ conn->next_arg = arg;
conn->pollflag = POLLIN;
return to_ioplan(READ);
}
{
conn->u.readpart.buf = data;
conn->u.readpart.lenp = len;
- conn->fd.next = cb;
- conn->fd.next_arg = arg;
+ conn->next = cb;
+ conn->next_arg = arg;
conn->pollflag = POLLIN;
return to_ioplan(READPART);
}
{
conn->u.writepart.buf = data;
conn->u.writepart.lenp = len;
- conn->fd.next = cb;
- conn->fd.next_arg = arg;
+ conn->next = cb;
+ conn->next_arg = arg;
conn->pollflag = POLLOUT;
return to_ioplan(WRITEPART);
}
if (conn->state == FINISHED)
return;
assert(conn->state == IDLE);
- conn->fd.next = fn;
- conn->fd.next_arg = arg;
+ conn->next = fn;
+ conn->next_arg = arg;
backend_set_state(conn, to_ioplan(NEXT));
}
{
if (timeout_active(conn))
backend_del_timeout(conn);
- return conn->fd.next(conn, conn->fd.next_arg);
+ return conn->next(conn, conn->next_arg);
}
struct io_plan *do_ready(struct io_conn *conn)
void *arg)
{
io_loop_return = ret;
- conn->fd.next = fn;
- conn->fd.next_arg = arg;
+ conn->next = fn;
+ conn->next_arg = arg;
return to_ioplan(NEXT);
}