class Tribe::Registry
Public Class Methods
new()
click to toggle source
# File lib/tribe/registry.rb, line 3 def initialize @mutex = Mutex.new @actors_by_name = {} @actors_by_oid = {} end
Public Instance Methods
[](val)
click to toggle source
# File lib/tribe/registry.rb, line 29 def [](val) @mutex.synchronize do return @actors_by_name[val] end end
dispose()
click to toggle source
# File lib/tribe/registry.rb, line 35 def dispose @mutex.synchronize do @actors_by_name.clear @actors_by_oid.clear return nil end end
inspect()
click to toggle source
# File lib/tribe/registry.rb, line 44 def inspect @mutex.synchronize do return "#<#{self.class.to_s}:0x#{(object_id << 1).to_s(16)} oid_count=#{@actors_by_oid.count}, named_count=#{@actors_by_name.count}>" end end
register(actor)
click to toggle source
# File lib/tribe/registry.rb, line 9 def register(actor) @mutex.synchronize do raise Tribe::RegistryError.new("Actor already exists (#{actor.name}).") if @actors_by_name.key?(actor.name) @actors_by_name[actor.name] = actor if actor.name @actors_by_oid[actor.object_id] = actor return nil end end
unregister(actor)
click to toggle source
# File lib/tribe/registry.rb, line 20 def unregister(actor) @mutex.synchronize do @actors_by_name.delete(actor.name) if actor.name @actors_by_oid.delete(actor.object_id) return nil end end