Class: Concurrent::Channel::Buffer::Timer
- Inherits:
-
Base
- Object
- Synchronization::LockableObject
- Base
- Concurrent::Channel::Buffer::Timer
show all
- Defined in:
- lib-edge/concurrent/channel/buffer/timer.rb
Direct Known Subclasses
Ticker
Instance Method Summary
collapse
Instance Method Details
#next ⇒ undocumented
31
32
33
34
35
36
37
|
# File 'lib-edge/concurrent/channel/buffer/timer.rb', line 31
def next
loop do
tick, more = do_poll
return tick, more if tick
Thread.pass
end
end
|
#offer(item) ⇒ undocumented
16
17
18
|
# File 'lib-edge/concurrent/channel/buffer/timer.rb', line 16
def offer(item)
false
end
|
#poll ⇒ undocumented
39
40
41
42
43
|
# File 'lib-edge/concurrent/channel/buffer/timer.rb', line 39
def poll
tick, _ = do_poll
tick = Concurrent::NULL unless tick
tick
end
|
#put(item) ⇒ undocumented
12
13
14
|
# File 'lib-edge/concurrent/channel/buffer/timer.rb', line 12
def put(item)
false
end
|
#take ⇒ undocumented
20
21
22
23
24
25
26
27
28
29
|
# File 'lib-edge/concurrent/channel/buffer/timer.rb', line 20
def take
loop do
tick, _ = do_poll
if tick
return tick
else
Thread.pass
end
end
end
|