Direct descriptors are file descriptors that are private with io_uring
allowing it to avoid some of the avoid by avoiding syncing with the
shared fd tables.
This changes AsyncFd to accept a new generic parameter, D, which
requires to implement the Descriptor trait. This Descriptor traits
defines some behaviour on what to do when making submissions, mainly it
sets the IOSQE_FIXED_FILE flag for direct descriptors.
We still default to a regular file descriptor, AsyncFd (without setting
the generic parameter) still refer to a regular file descriptor (not
direct).
Direct descriptors are file descriptors that are private with io_uring allowing it to avoid some of the avoid by avoiding syncing with the shared fd tables.
This changes AsyncFd to accept a new generic parameter, D, which requires to implement the Descriptor trait. This Descriptor traits defines some behaviour on what to do when making submissions, mainly it sets the IOSQE_FIXED_FILE flag for direct descriptors.
We still default to a regular file descriptor, AsyncFd (without setting the generic parameter) still refer to a regular file descriptor (not direct).
Closes #39 Closes #101