IO::Buffer
for scheduler interface.
#4621
Conversation
Would wrapping the |
The callbacks from |
As you know the scheduler interface is defined by Ruby interface, not C interface. So it needs Ruby objects, not |
37659b3
to
95cc6e2
There are several places where we cannot avoid using
(void*, size_t)
for read and write operation.While using fake strings seemed to work, I was told we cannot expose it to Ruby code.
Therefore, the only solution is to create a IO buffer interface that can correctly and efficiently implement this required interface.
I have validated that this works using the event gem which has several implementations including Pure Ruby, kqueue, epoll and io_uring.
IMMUTABLE
andLOCKED
flags.