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.
351 352 353 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 351 def initialize(capacity) @queue = Thread::SizedQueue.new(capacity) end |
Instance Method Details
#close ⇒ Object
367 368 369 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 367 def close @queue.close end |
#pop ⇒ Object
361 362 363 364 365 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 361 def pop @queue.pop rescue ClosedQueueError raise Closed end |
#push(result) ⇒ Object
355 356 357 358 359 |
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 355 def push(result) @queue << result rescue ClosedQueueError raise Closed end |