Class: Concurrent::Channel::Buffer::Sliding
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
Concurrent::Channel::Buffer::Buffered
|
Defined in: | lib/concurrent-ruby-edge/concurrent/channel/buffer/sliding.rb |
Overview
Class Method Summary
Instance Attribute Summary
-
#blocking? ⇒ Boolean
readonly
Predicate indicating if this buffer will block #put operations once it reaches its maximum capacity.
-
#ns_full? ⇒ Boolean
readonly
private
Predicate indicating if the buffer is full.
Buffered
- Inherited
#ns_empty? | Predicate indicating if the buffer is empty. |
#ns_full? | Predicate indicating if the buffer is full. |
Base
- Inherited
#blocking? | Predicate indicating if this buffer will block #put operations once it reaches its maximum capacity. |
#capacity | The maximum number of values which can be #put onto the buffer it becomes full. |
#closed? | Predicate indicating is this buffer closed. |
#empty? | Predicate indicating if the buffer is empty. |
#full? | Predicate indicating if the buffer is full. |
#size | The number of items currently in the buffer. |
#buffer, #buffer=, #capacity=, #closed=, | |
#ns_closed? | Predicate indicating is this buffer closed. |
#ns_empty? | Predicate indicating if the buffer is empty. |
#ns_full? | Predicate indicating if the buffer is full. |
#size= |
Instance Method Summary
-
#full? ⇒ Boolean
Predicate indicating if the buffer is full.
-
#offer(item) ⇒ Boolean
Put an item onto the buffer if possible.
-
#put(item) ⇒ Boolean
Put an item onto the buffer if possible.
-
#ns_put_onto_buffer(item) ⇒ Boolean
private
Put an item onto the buffer if possible.
Buffered
- Inherited
#next | Take the next “item” from the buffer and also return a boolean indicating if “more” items can be taken. |
#offer | Put an item onto the buffer if possible. |
#poll | Take the next item from the buffer if one is available else return immediately. |
#put | Put an item onto the buffer if possible. |
#take | Take an item from the buffer if one is available. |
#ns_initialize | Creates a new buffer. |
#ns_put_onto_buffer | Put an item onto the buffer if possible. |
#ns_size | The number of items currently in the buffer. |
Base
- Inherited
#close | Close the buffer, preventing new items from being added. |
#next | Take the next “item” from the buffer and also return a boolean indicating if “more” items can be taken. |
#offer | Put an item onto the buffer if possible. |
#poll | Take the next item from the buffer if one is available else return immediately. |
#put | Put an item onto the buffer if possible. |
#take | Take an item from the buffer if one is available. |
#ns_initialize, | |
#ns_size | The number of items currently in the buffer. |
Synchronization::LockableObject
- Inherited
Constructor Details
This class inherits a constructor from Concurrent::Channel::Buffer::Base
Instance Attribute Details
#blocking? ⇒ Boolean
(readonly)
Predicate indicating if this buffer will block #put operations once it reaches its maximum capacity.
Always returns false
.
# File 'lib/concurrent-ruby-edge/concurrent/channel/buffer/sliding.rb', line 36
def blocking? false end
#ns_full? ⇒ Boolean
(readonly, private)
Predicate indicating if the buffer is full.
# File 'lib/concurrent-ruby-edge/concurrent/channel/buffer/sliding.rb', line 43
def ns_full? false end
Instance Method Details
#full? ⇒ Boolean
Predicate indicating if the buffer is full.
Always returns false
.
#ns_put_onto_buffer(item) ⇒ Boolean
(private)
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.
#offer(item) ⇒ Boolean
Put an item onto the buffer if 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).
#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).