Class: FiberStream::Pull::RactorMergePortsSource::RactorMergeResultMailbox
- Inherits:
-
Object
- Object
- FiberStream::Pull::RactorMergePortsSource::RactorMergeResultMailbox
- Defined in:
- lib/fiber_stream/pull/ractor_merge_ports_source.rb
Constant Summary collapse
- Closed =
Class.new(StandardError)
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(capacity) ⇒ RactorMergeResultMailbox
constructor
A new instance of RactorMergeResultMailbox.
- #pop ⇒ Object
- #push(result) ⇒ Object
Constructor Details
#initialize(capacity) ⇒ RactorMergeResultMailbox
Returns a new instance of RactorMergeResultMailbox.
336 337 338 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 336 def initialize(capacity) @queue = Thread::SizedQueue.new(capacity) end |
Instance Method Details
#close ⇒ Object
352 353 354 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 352 def close @queue.close end |
#pop ⇒ Object
346 347 348 349 350 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 346 def pop @queue.pop rescue ClosedQueueError raise Closed end |
#push(result) ⇒ Object
340 341 342 343 344 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 340 def push(result) @queue << result rescue ClosedQueueError raise Closed end |