class Celluloid::Group

Attributes

group[RW]

Public Class Methods

new() click to toggle source
# File lib/celluloid/group.rb, line 5
def initialize
  @mutex = Mutex.new
  @group = []
  @running = true
end

Public Instance Methods

active?() click to toggle source
# File lib/celluloid/group.rb, line 45
def active?
  @running
end
assert_active() click to toggle source
# File lib/celluloid/group.rb, line 11
def assert_active
  fail Celluloid::NotActive unless active?
end
assert_inactive() click to toggle source
# File lib/celluloid/group.rb, line 15
def assert_inactive
  return unless active?
  if RUBY_PLATFORM == "java"
    Celluloid.logger.warn "Group is still active"
  else
    fail Celluloid::StillActive
  end
end
create() click to toggle source
# File lib/celluloid/group.rb, line 53
def create
  fail NotImplementedError
end
each() { |thread| ... } click to toggle source
# File lib/celluloid/group.rb, line 24
def each
  to_a.each { |thread| yield thread }
end
each_actor(&block) click to toggle source
# File lib/celluloid/group.rb, line 41
def each_actor(&block)
  to_a.lazy.select { |t| t[:celluloid_role] == :actor }.each(&block)
end
get() click to toggle source
# File lib/celluloid/group.rb, line 49
def get
  fail NotImplementedError
end
purge(thread) click to toggle source
# File lib/celluloid/group.rb, line 34
def purge(thread)
  @mutex.synchronize do
    @group.delete(thread)
    thread.kill rescue nil
  end
end
shutdown() click to toggle source
# File lib/celluloid/group.rb, line 57
def shutdown
  fail NotImplementedError
end
to_a() click to toggle source
# File lib/celluloid/group.rb, line 28
def to_a
  res = nil
  @mutex.synchronize { res = @group.dup }
  res
end