Class: Evt::Epoll
Constant Summary
Constants inherited
from Bundled
Bundled::COLLECT_COUNTER_MAX, Bundled::MAXIMUM_TIMEOUT
Instance Attribute Summary
Attributes inherited from Bundled
#readable, #waiting, #writable
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Bundled
#block, #close, #collect, #current_time, epoll_backend, #epoll_deregister, #epoll_init_selector, #epoll_register, #epoll_wait, #fiber, #initialize, #kernel_sleep, kqueue_backend, #kqueue_init_selector, #kqueue_register, #kqueue_wait, #next_timeout, #run, select_backend, #select_wait, #unblock, uring_backend, #uring_init_selector, #uring_io_read, #uring_io_write, #uring_register, #uring_wait
Constructor Details
This class inherits a constructor from Evt::Bundled
Class Method Details
.available? ⇒ Boolean
4
5
6
|
# File 'lib/evt/backends/epoll.rb', line 4
def self.available?
self.respond_to?(:epoll_backend)
end
|
.backend ⇒ Object
8
9
10
|
# File 'lib/evt/backends/epoll.rb', line 8
def self.backend
self.epoll_backend
end
|
Instance Method Details
#deregister(io) ⇒ Object
20
21
22
|
# File 'lib/evt/backends/epoll.rb', line 20
def deregister(io)
epoll_deregister(io)
end
|
#init_selector ⇒ Object
12
13
14
|
# File 'lib/evt/backends/epoll.rb', line 12
def init_selector
epoll_init_selector
end
|
#io_wait(io, events, duration) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/evt/backends/epoll.rb', line 24
def io_wait(io, events, duration)
@iovs[io] = Fiber.current
self.register(io, events)
Fiber.yield
self.deregister(io)
true
end
|
#register(io, interest) ⇒ Object
16
17
18
|
# File 'lib/evt/backends/epoll.rb', line 16
def register(io, interest)
epoll_register(io, interest)
end
|
#wait ⇒ Object
74
75
76
|
# File 'lib/evt/backends/epoll.rb', line 74
def wait
epoll_wait
end
|