class NestedScheduler::IoUringContext
- NestedScheduler::IoUringContext
- NestedScheduler::IOContext
- Reference
- Object
Defined in:
nested_scheduler/io_uring_context.crConstant Summary
-
WAIT_TIMESPEC =
LibC::Timespec.new(tv_sec: 0, tv_nsec: 50000)
-
What is a good waittime? Perhaps it needs to be a backoff?
TODO Make use of notifier instead of timeouts.
Constructors
Macro Summary
-
link_timeout(timeout)
Needs to be a macro to keep the timespec in scope
Instance Method Summary
- #accept(socket, scheduler, timeout)
- #close(fd, scheduler)
- #connect(socket, scheduler, addr, timeout, &)
- #new : self
- #prepare_close(_file)
- #read(io, scheduler, slice : Bytes, timeout = io.read_timeout)
- #recv(socket, scheduler, slice : Bytes, errno_message : String, timeout = socket.read_timeout)
-
#recvfrom(socket, scheduler, slice, sockaddr, addrlen, errno_message : String, timeout = socket.read_timeout)
todo timeout.., errmess
-
#reschedule(scheduler, &)
TODO handle submit failure?
- #ring : IOR::IOUring
- #send(socket, scheduler, slice : Bytes, errno_message : String, timeout = socket.write_timeout) : Int32
- #send_to(socket, scheduler, message, to addr : Socket::Address) : Int32
- #sleep(scheduler, fiber, time) : Nil
- #socket_write(socket, scheduler, slice : Bytes, errno_message : String, timeout = socket.write_timeout) : Nil
- #wait_readable(io, scheduler, timeout, &)
- #wait_writable(io, scheduler, timeout, &)
-
#write(io, scheduler, slice : Bytes, timeout = io.write_timeout)
TODO add write timeout
- #yield(fiber, to other)
Constructor Detail
Macro Detail
Instance Method Detail
def recv(socket, scheduler, slice : Bytes, errno_message : String, timeout = socket.read_timeout)
#
def recvfrom(socket, scheduler, slice, sockaddr, addrlen, errno_message : String, timeout = socket.read_timeout)
#
todo timeout.., errmess
def send(socket, scheduler, slice : Bytes, errno_message : String, timeout = socket.write_timeout) : Int32
#
def socket_write(socket, scheduler, slice : Bytes, errno_message : String, timeout = socket.write_timeout) : Nil
#