Class: Concurrent::Channel::Buffer::Timer

Inherits:
Base
  • Object
show all
Defined in:
lib/concurrent/channel/buffer/timer.rb

Direct Known Subclasses

Ticker

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

This class inherits a constructor from Concurrent::Channel::Buffer::Base

Instance Attribute Details

- (undocumented) capacity Originally defined in class Base

The maximum number of values which can be #put onto the buffer it becomes full.

Instance Method Details

- (undocumented) next



31
32
33
34
35
36
37
# File 'lib/concurrent/channel/buffer/timer.rb', line 31

def next
  loop do
    tick, more = do_poll
    return tick, more if tick
    Thread.pass
  end
end

- (undocumented) offer(item)



16
17
18
# File 'lib/concurrent/channel/buffer/timer.rb', line 16

def offer(item)
  false
end

- (undocumented) poll



39
40
41
42
43
# File 'lib/concurrent/channel/buffer/timer.rb', line 39

def poll
  tick, _ = do_poll
  tick = Concurrent::NULL unless tick
  tick
end

- (undocumented) put(item)



12
13
14
# File 'lib/concurrent/channel/buffer/timer.rb', line 12

def put(item)
  false
end

- (undocumented) take



20
21
22
23
24
25
26
27
28
29
# File 'lib/concurrent/channel/buffer/timer.rb', line 20

def take
  loop do
    tick, _ = do_poll
    if tick
      return tick
    else
      Thread.pass
    end
  end
end