Class: Actor::Messaging::Address

Inherits:
Struct
  • Object
show all
Defined in:
lib/actor/messaging/address.rb,
lib/actor/messaging/address.rb,
lib/actor/messaging/address/none.rb,
lib/actor/messaging/address/controls.rb,
lib/actor/messaging/address/dependency.rb,
lib/actor/messaging/address/substitute.rb

Direct Known Subclasses

None

Defined Under Namespace

Modules: Controls, Dependency Classes: None, Substitute

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#idObject

Returns the value of attribute id

Returns:

  • (Object)

    the current value of id



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

def id
  @id
end

#queueObject

Returns the value of attribute queue

Returns:

  • (Object)

    the current value of queue



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

def queue
  @queue
end

Class Method Details

.build(max_queue_size: nil) ⇒ Object



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

def self.build max_queue_size: nil
  id = SecureRandom.uuid
  queue = Queue.get max_size: max_queue_size

  new id, queue
end

Instance Method Details

#actors_waitingObject



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

def actors_waiting
  queue.num_waiting
end

#queue_depthObject



17
18
19
# File 'lib/actor/messaging/address.rb', line 17

def queue_depth
  queue.size
end

#queue_limitObject



21
22
23
# File 'lib/actor/messaging/address.rb', line 21

def queue_limit
  queue.max
end