Fix ringloop, implement first version of handle_event for reads

This commit is contained in:
Vitaliy Filippov
2019-11-05 23:06:06 +03:00
parent 82cf0a170e
commit 3f5ad16748
7 changed files with 54 additions and 14 deletions
+12
View File
@@ -29,6 +29,18 @@ struct io_uring_sqe* ring_loop_t::get_sqe()
return sqe;
}
struct io_uring_sqe* ring_loop_t::get_sqe(int consumer)
{
struct io_uring_sqe* sqe = io_uring_get_sqe(ring);
if (sqe)
{
struct ring_data_t *data = ring_data + (sqe - ring->sq.sqes);
io_uring_sqe_set_data(sqe, data);
data->source = consumer;
}
return sqe;
}
int ring_loop_t::register_consumer(ring_consumer_t & consumer)
{
consumer.number = consumers.size();