Class: Actor::Messaging::Address

Inherits:
Object
  • Object
show all
Defined in:
lib/actor/messaging/address.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, queue) ⇒ Address

Returns a new instance of Address.



7
8
9
10
# File 'lib/actor/messaging/address.rb', line 7

def initialize id, queue
  @id = id
  @queue = queue
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



4
5
6
# File 'lib/actor/messaging/address.rb', line 4

def id
  @id
end

#queueObject (readonly)

Returns the value of attribute queue.



5
6
7
# File 'lib/actor/messaging/address.rb', line 5

def queue
  @queue
end

Class Method Details

.buildObject



12
13
14
15
16
17
# File 'lib/actor/messaging/address.rb', line 12

def self.build
  id = SecureRandom.uuid
  queue = Queue.new

  new id, queue
end

Instance Method Details

#inspectObject



23
24
25
# File 'lib/actor/messaging/address.rb', line 23

def inspect
  %{#<#{self.class.name} id=#{id.inspect}, queue=#{queue_tail}..#{queue_head}, readers=#{reader_count}>}
end

#queue_headObject



27
28
29
# File 'lib/actor/messaging/address.rb', line 27

def queue_head
  queue.head
end

#queue_sizeObject



35
36
37
# File 'lib/actor/messaging/address.rb', line 35

def queue_size
  queue.size
end

#queue_tailObject



31
32
33
# File 'lib/actor/messaging/address.rb', line 31

def queue_tail
  queue.tail
end

#reader_countObject



19
20
21
# File 'lib/actor/messaging/address.rb', line 19

def reader_count
  queue.reader_count
end