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

Class List Method List File List

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

Inherits:
  Base
  - Object
  - Synchronization::LockableObject
  - Base
  - Concurrent::Channel::Buffer::Timer
  show all
Defined in:
  lib/concurrent/channel/buffer/timer.rb

## Direct Known Subclasses

Ticker

## Instance Attribute Summary (collapse)

- - (undocumented) capacity inherited from Base readonly

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

## Instance Method Summary (collapse)

- - (undocumented) next
- - (undocumented) offer(item)
- - (undocumented) poll
- - (undocumented) put(item)
- - (undocumented) take

## 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