Class: FiberStream::Pull::RactorMergePortsSource::RactorMergeResultMailbox

Inherits:
Object
  • Object
show all
Defined in:
lib/fiber_stream/pull/ractor_merge_ports_source.rb

Constant Summary collapse

Closed =
Class.new(StandardError)

Instance Method Summary collapse

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

#closeObject



352
353
354
# File 'lib/fiber_stream/pull/ractor_merge_ports_source.rb', line 352

def close
  @queue.close
end

#popObject



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