Class: Actor::Messaging::Queue::Substitute
- Inherits:
-
Object
- Object
- Actor::Messaging::Queue::Substitute
- Defined in:
- lib/actor/messaging/queue/substitute.rb
Defined Under Namespace
Classes: Record
Constant Summary collapse
- WouldBlockError =
Class.new(StandardError)
Class Method Summary collapse
Instance Method Summary collapse
- #deq(non_block = nil) ⇒ Object
- #empty? ⇒ Boolean
- #enq(message, non_block = nil) ⇒ Object
- #enqueued?(message = nil, wait: nil) ⇒ Boolean
-
#initialize ⇒ Substitute
constructor
A new instance of Substitute.
- #max ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize ⇒ Substitute
Returns a new instance of Substitute.
5 6 7 |
# File 'lib/actor/messaging/queue/substitute.rb', line 5 def initialize @enqueued_records = [] end |
Class Method Details
.build ⇒ Object
9 10 11 12 |
# File 'lib/actor/messaging/queue/substitute.rb', line 9 def self.build instance = new instance end |
Instance Method Details
#deq(non_block = nil) ⇒ Object
14 15 16 17 18 19 20 |
# 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? ⇒ Boolean
22 23 24 |
# File 'lib/actor/messaging/queue/substitute.rb', line 22 def empty? true end |
#enq(message, non_block = nil) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/actor/messaging/queue/substitute.rb', line 26 def enq(, non_block=nil) non_block = false if non_block.nil? record = Record.new(, non_block) @enqueued_records << record record end |
#enqueued?(message = nil, wait: nil) ⇒ Boolean
34 35 36 37 38 39 40 41 |
# File 'lib/actor/messaging/queue/substitute.rb', line 34 def enqueued?(=nil, wait: nil) @enqueued_records.any? do |record| next unless .nil? or record. == next unless wait.nil? or record.non_block == !wait true end end |
#max ⇒ Object
43 44 45 |
# File 'lib/actor/messaging/queue/substitute.rb', line 43 def max Float::INFINITY end |
#size ⇒ Object
47 48 49 |
# File 'lib/actor/messaging/queue/substitute.rb', line 47 def size 0 end |