Exemplo n.º 1
0
static void init_conn(int fd, struct packet *pkt)
{
	ok1(pkt->state == 0);
	pkt->state++;

	io_set_finish(io_new_conn(fd, io_read_packet(pkt, io_close_cb, pkt)),
		      finish_ok, pkt);
}
Exemplo n.º 2
0
static struct io_plan *got_shard(struct io_conn *conn, struct generator *gen)
{
	gen->solution->shard[gen->solution->shards_read++]
		= tal_steal(gen->solution, gen->pkt_in);

	if (gen->solution->shards_read != tal_count(gen->solution->shard))
		return io_read_packet(conn, &gen->pkt_in, got_shard, gen);

	/* We've got all the shards! */
	recv_block_from_generator(gen->state, gen->log, gen->solution->block,
				  gen->solution->shard);

	return io_close(conn);
}