class Actor::Messaging::Queue::Substitute

Constants

Record
WouldBlockError

Public Class Methods

build() click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 9
def self.build
  instance = new
  instance
end
new() click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 5
def initialize
  @enqueued_records = []
end

Public Instance Methods

deq(non_block=nil) click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 14
def deq non_block=nil
  if non_block
    raise ThreadError
  else
    raise WouldBlockError
  end
end
empty?() click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 22
def empty?
  true
end
enq(message, non_block=nil) click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 26
def enq message, non_block=nil
  non_block = false if non_block.nil?

  record = Record.new message, non_block
  @enqueued_records << record
  record
end
enqueued?(message=nil, wait: nil) click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 34
def enqueued? message=nil, wait: nil
  @enqueued_records.any? do |record|
    next unless message.nil? or record.message == message
    next unless wait.nil? or record.non_block == !wait

    true
  end
end
max() click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 43
def max
  Float::INFINITY
end
size() click to toggle source
# File lib/actor/messaging/queue/substitute.rb, line 47
def size
  0
end