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 ring timeout instead for this.
Constructors
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)
TODO handle read timeout
-
#recv(socket, scheduler, slice : Bytes, errno_message : String)
TODO handle read timeout
-
#recvfrom(socket, scheduler, slice, sockaddr, addrlen, errno_message : String)
todo timeout.., errmess
-
#reschedule(scheduler, &)
TODO handle submit failure?
- #ring : IOR::IOUring
- #send(socket, scheduler, slice : Bytes, errno_message : String) : 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) : Nil
TODO handle write timeout, errmess
- #wait_readable(io, scheduler, timeout, &)
- #wait_writable(io, scheduler, timeout, &)
-
#write(io, scheduler, slice : Bytes)
TODO add write timeout
- #yield(fiber, to other)
Constructor Detail
Instance Method Detail
def recvfrom(socket, scheduler, slice, sockaddr, addrlen, errno_message : String)
#
todo timeout.., errmess
def socket_write(socket, scheduler, slice : Bytes, errno_message : String) : Nil
#
TODO handle write timeout, errmess