Example #1
0
static void init_conn(int fd, struct data *d)
{
	ok1(d->state == 0);
	d->state++;
	io_set_finish(io_new_conn(fd, io_write(d->buf, d->bytes,
					       io_close_cb, d)),
		      finish_ok, d);
}
Example #2
0
static void init_conn(int fd, struct data *d)
{
	ok1(d->state == 0);
	d->state++;

	io_set_finish(io_new_conn(fd,
				  io_read(d->buf, sizeof(d->buf), io_close_cb, d)),
		      finish_ok, d);
}
Example #3
0
static struct io_plan *init_conn(struct io_conn *conn, struct data *d)
{
	ok1(d->state == 0);
	d->state++;
	io_set_finish(conn, finish_ok, d);

	/* Empty read should run immediately... */
	return io_read(conn, NULL, 0, write_buf, d);
}
static void init_conn(int fd, struct data *d)
{
	ok1(d->state == 0);
	d->state++;
	d->bytes = sizeof(d->buf);

	io_set_finish(io_new_conn(fd,
				  io_read_partial(d->buf, &d->bytes, io_close_cb, d)),
		      finish_ok, d);
}
Example #5
0
static void init_conn(int fd, struct data *d)
{
	struct io_conn *conn;

	ok1(d->state == 0);
	d->state++;

	conn = io_new_conn(fd, io_read(d->buf, sizeof(d->buf), no_timeout, d));
	io_set_finish(conn, finish_ok, d);
	io_timeout(conn, time_from_usec(d->timeout_usec), timeout, d);
}
Example #6
0
static struct io_plan *init_conn(struct io_conn *conn, struct data *d)
{
#ifdef DEBUG_CONN
	io_set_debug(conn, true);
#endif
	ok1(d->state == 0);
	d->state++;

	io_set_finish(conn, finish_ok, d);
	return io_read(conn, d->buf, sizeof(d->buf), io_close_cb, d);
}
Example #7
0
static struct io_plan *init_conn(struct io_conn *conn, int *state)
{
#ifdef DEBUG_CONN
	io_set_debug(conn, true);
#endif
	if (*state == 0) {
		(*state)++;
		errno = 100;
		io_set_finish(conn, finish_100, state);
		return io_close(conn);
	} else {
		ok1(*state == 2);
		(*state)++;
		close(io_conn_fd(conn));
		errno = 0;
		io_set_finish(conn, finish_EBADF, state);

		return io_read(conn, state, 1, io_close_cb, NULL);
	}
}
Example #8
0
static struct io_plan *init_conn(struct io_conn *conn, int *state)
{
#ifdef DEBUG_CONN
	io_set_debug(conn, true);
#endif
	ok1(*state == 0);
	(*state)++;
	expected_fd = io_conn_fd(conn);
	io_set_finish(conn, finish_ok, state);

	return io_close(conn);
}
Example #9
0
static struct io_plan *init_conn(struct io_conn *conn, struct data *d)
{
	ok1(d->state == 0);
	d->state++;

	io_close_listener(d->l);

	memset(d->wbuf, 7, sizeof(d->wbuf));
	io_set_finish(conn, finish_ok, d);

	return io_duplex(conn,
			 io_read(conn, d->buf, sizeof(d->buf), r_done, d),
			 io_write(conn, d->wbuf, sizeof(d->wbuf), w_done, d));
}
Example #10
0
static struct io_plan *jcon_connected(struct io_conn *conn,
				      struct lightningd_state *dstate)
{
	struct json_connection *jcon;

	jcon = tal(dstate, struct json_connection);
	jcon->dstate = dstate;
	jcon->used = 0;
	jcon->buffer = tal_arr(jcon, char, 64);
	jcon->stop = false;
	jcon->current = NULL;
	jcon->log = new_log(jcon, dstate->log_record, "%sjcon fd %i:",
			    log_prefix(dstate->base_log), io_conn_fd(conn));
	list_head_init(&jcon->output);

	io_set_finish(conn, finish_jcon, jcon);

	return io_duplex(conn,
			 io_read_partial(conn, jcon->buffer,
					 tal_count(jcon->buffer),
					 &jcon->len_read, read_json, jcon),
			 write_json(conn, jcon));
}
Example #11
0
static void init_conn(int fd, int *state)
{
	ok1(*state == 0);
	(*state)++;
	io_set_finish(io_new_conn(fd, io_close()), finish_ok, state);
}