Class: Actor::Messaging::Read
- Inherits:
-
Object
- Object
- Actor::Messaging::Read
show all
- Defined in:
- lib/actor/messaging/read.rb,
lib/actor/messaging/read/dependency.rb,
lib/actor/messaging/read/substitute.rb
Defined Under Namespace
Modules: Dependency
Classes: Substitute
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(queue) ⇒ Read
Returns a new instance of Read.
6
7
8
|
# File 'lib/actor/messaging/read.rb', line 6
def initialize(queue)
@queue = queue
end
|
Instance Attribute Details
#queue ⇒ Object
Returns the value of attribute queue.
4
5
6
|
# File 'lib/actor/messaging/read.rb', line 4
def queue
@queue
end
|
Class Method Details
.build(address) ⇒ Object
10
11
12
13
14
|
# File 'lib/actor/messaging/read.rb', line 10
def self.build(address)
queue = address.queue
new queue
end
|
.call(address, wait: nil) ⇒ Object
16
17
18
19
20
|
# File 'lib/actor/messaging/read.rb', line 16
def self.call(address, wait: nil)
instance = build(address)
instance.(wait: wait)
end
|
Instance Method Details
#address?(address) ⇒ Boolean
31
32
33
|
# File 'lib/actor/messaging/read.rb', line 31
def address?(address)
queue?(address.queue)
end
|
#call(wait: nil) ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/actor/messaging/read.rb', line 22
def call(wait: nil)
non_block = wait == false
queue.deq(non_block)
rescue ThreadError
return nil
end
|
#next_message?(message) ⇒ Boolean
35
36
37
38
39
40
41
42
43
|
# File 'lib/actor/messaging/read.rb', line 35
def next_message?(message)
begin
next_message = @queue.deq(true)
rescue ThreadError
return false
end
next_message == message
end
|
#queue?(queue) ⇒ Boolean
45
46
47
|
# File 'lib/actor/messaging/read.rb', line 45
def queue?(queue)
self.queue == queue
end
|