Class: FiberStream::Pull::Merge::MergeMailbox
- Inherits:
-
Object
- Object
- FiberStream::Pull::Merge::MergeMailbox
- Defined in:
- lib/fiber_stream/pull/merge.rb
Constant Summary collapse
- Closed =
Class.new(StandardError)
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(capacity) ⇒ MergeMailbox
constructor
A new instance of MergeMailbox.
- #pop ⇒ Object
- #push(message) ⇒ Object
Constructor Details
#initialize(capacity) ⇒ MergeMailbox
Returns a new instance of MergeMailbox.
208 209 210 |
# File 'lib/fiber_stream/pull/merge.rb', line 208 def initialize(capacity) @queue = Thread::SizedQueue.new(capacity) end |
Instance Method Details
#close ⇒ Object
224 225 226 |
# File 'lib/fiber_stream/pull/merge.rb', line 224 def close @queue.close end |
#pop ⇒ Object
218 219 220 221 222 |
# File 'lib/fiber_stream/pull/merge.rb', line 218 def pop @queue.pop rescue ClosedQueueError raise Closed end |
#push(message) ⇒ Object
212 213 214 215 216 |
# File 'lib/fiber_stream/pull/merge.rb', line 212 def push() @queue << rescue ClosedQueueError raise Closed end |