Class: Concurrent::Channel::Buffer::Sliding
Overview
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#blocking? ⇒ Boolean
Predicate indicating if this buffer will block #put operations once it reaches its maximum capacity.
-
#full? ⇒ Boolean
Predicate indicating if the buffer is full.
-
#offer(item) ⇒ Boolean
Put an item onto the buffer is possible.
-
#put(item) ⇒ Boolean
Put an item onto the buffer if possible.
Methods inherited from Buffered
Methods inherited from Base
#close, #closed?, #empty?, #initialize, #next, #poll, #size, #take
Constructor Details
This class inherits a constructor from Concurrent::Channel::Buffer::Base
Instance Method Details
#blocking? ⇒ Boolean
Predicate indicating if this buffer will block #put operations once it reaches its maximum capacity.
Always returns ‘false`.
35 36 37 |
# File 'lib/concurrent/channel/buffer/sliding.rb', line 35 def blocking? false end |
#full? ⇒ Boolean
Predicate indicating if the buffer is full.
Always returns ‘false`.
|
# File 'lib/concurrent/channel/buffer/sliding.rb', line 27
|
#offer(item) ⇒ Boolean
Put an item onto the buffer is possible. If the buffer is open but unable to add an item, probably due to being full, the method will return immediately. Similarly, the method will return immediately when the buffer is closed. A return value of ‘false` does not necessarily indicate that the buffer is closed, just that the item could not be added.
When the buffer is full, this method will return ‘true` immediately and the item will be inserted, but the oldest elements in the buffer will be discarded (not transferred).
|
# File 'lib/concurrent/channel/buffer/sliding.rb', line 20
|
#put(item) ⇒ Boolean
Put an item onto the buffer if possible. If the buffer is open but not able to accept the item the calling thread will block until the item can be put onto the buffer.
When the buffer is full, this method will return ‘true` immediately and the item will be inserted, but the oldest elements in the buffer will be discarded (not transferred).
|
# File 'lib/concurrent/channel/buffer/sliding.rb', line 13
|