celluloid 0.15.2 → 0.16.0.pre

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +20 -0
  3. data/README.md +29 -2
  4. data/lib/celluloid.rb +68 -73
  5. data/lib/celluloid/actor.rb +69 -123
  6. data/lib/celluloid/actor_system.rb +107 -0
  7. data/lib/celluloid/calls.rb +16 -16
  8. data/lib/celluloid/cell.rb +89 -0
  9. data/lib/celluloid/condition.rb +25 -8
  10. data/lib/celluloid/cpu_counter.rb +2 -0
  11. data/lib/celluloid/evented_mailbox.rb +2 -1
  12. data/lib/celluloid/exceptions.rb +23 -0
  13. data/lib/celluloid/future.rb +1 -1
  14. data/lib/celluloid/handlers.rb +41 -0
  15. data/lib/celluloid/internal_pool.rb +0 -3
  16. data/lib/celluloid/logger.rb +30 -0
  17. data/lib/celluloid/logging/incident_logger.rb +1 -1
  18. data/lib/celluloid/mailbox.rb +19 -18
  19. data/lib/celluloid/method.rb +8 -0
  20. data/lib/celluloid/pool_manager.rb +1 -1
  21. data/lib/celluloid/probe.rb +73 -0
  22. data/lib/celluloid/properties.rb +2 -2
  23. data/lib/celluloid/proxies/actor_proxy.rb +9 -41
  24. data/lib/celluloid/proxies/cell_proxy.rb +68 -0
  25. data/lib/celluloid/proxies/sync_proxy.rb +1 -1
  26. data/lib/celluloid/receivers.rb +1 -0
  27. data/lib/celluloid/registry.rb +1 -8
  28. data/lib/celluloid/stack_dump.rb +34 -11
  29. data/lib/celluloid/supervision_group.rb +26 -14
  30. data/lib/celluloid/tasks.rb +6 -9
  31. data/lib/celluloid/tasks/task_fiber.rb +6 -0
  32. data/lib/celluloid/tasks/task_thread.rb +2 -1
  33. data/lib/celluloid/thread_handle.rb +2 -2
  34. data/spec/celluloid/actor_spec.rb +1 -1
  35. data/spec/celluloid/actor_system_spec.rb +69 -0
  36. data/spec/celluloid/block_spec.rb +1 -1
  37. data/spec/celluloid/calls_spec.rb +1 -1
  38. data/spec/celluloid/condition_spec.rb +14 -3
  39. data/spec/celluloid/cpu_counter_spec.rb +9 -0
  40. data/spec/celluloid/fsm_spec.rb +1 -1
  41. data/spec/celluloid/future_spec.rb +1 -1
  42. data/spec/celluloid/notifications_spec.rb +1 -1
  43. data/spec/celluloid/pool_spec.rb +1 -1
  44. data/spec/celluloid/probe_spec.rb +121 -0
  45. data/spec/celluloid/registry_spec.rb +6 -6
  46. data/spec/celluloid/stack_dump_spec.rb +37 -8
  47. data/spec/celluloid/supervision_group_spec.rb +7 -1
  48. data/spec/celluloid/supervisor_spec.rb +12 -1
  49. data/spec/celluloid/tasks/task_fiber_spec.rb +1 -1
  50. data/spec/celluloid/tasks/task_thread_spec.rb +1 -1
  51. data/spec/celluloid/thread_handle_spec.rb +7 -3
  52. data/spec/spec_helper.rb +20 -7
  53. data/spec/support/actor_examples.rb +33 -15
  54. data/spec/support/mailbox_examples.rb +9 -3
  55. data/spec/support/task_examples.rb +2 -0
  56. metadata +32 -22
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Celluloid::Registry do
3
+ describe Celluloid::Registry, actor_system: :global do
4
4
  class Marilyn
5
5
  include Celluloid
6
6
 
@@ -27,21 +27,21 @@ describe Celluloid::Registry do
27
27
 
28
28
  it "knows its name once registered" do
29
29
  Celluloid::Actor[:marilyn] = Marilyn.new
30
- Celluloid::Actor[:marilyn].name.should == :marilyn
30
+ Celluloid::Actor[:marilyn].registered_name.should == :marilyn
31
31
  end
32
32
 
33
33
  describe :delete do
34
34
  before do
35
35
  Celluloid::Actor[:marilyn] ||= Marilyn.new
36
36
  end
37
-
37
+
38
38
  it "removes reference to actors' name from the registry" do
39
- Celluloid::Registry.root.delete(:marilyn)
39
+ Celluloid::Actor.delete(:marilyn)
40
40
  Celluloid::Actor.registered.should_not include :marilyn
41
41
  end
42
-
42
+
43
43
  it "returns actor removed from the registry" do
44
- rval = Celluloid::Registry.root.delete(:marilyn)
44
+ rval = Celluloid::Actor.delete(:marilyn)
45
45
  rval.should be_kind_of(Marilyn)
46
46
  end
47
47
  end
@@ -1,6 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Celluloid::StackDump do
4
+ let(:actor_system) do
5
+ Celluloid::ActorSystem.new
6
+ end
7
+
8
+ subject do
9
+ actor_system.stack_dump
10
+ end
11
+
4
12
  class BlockingActor
5
13
  include Celluloid
6
14
 
@@ -14,22 +22,43 @@ describe Celluloid::StackDump do
14
22
  actor_klass = Class.new(BlockingActor) do
15
23
  task_class task_klass
16
24
  end
17
- actor = actor_klass.new
25
+ actor = actor_system.within do
26
+ actor_klass.new
27
+ end
18
28
  actor.async.blocking
19
29
  end
20
30
 
21
- Celluloid.internal_pool.get do
22
- Thread.current.role = :testing
31
+ @active_thread = actor_system.get_thread do
23
32
  sleep
24
33
  end
34
+ @active_thread.role = :other_thing
35
+ @idle_thread = actor_system.get_thread do
36
+ end
37
+
38
+ sleep 0.01
25
39
  end
26
40
 
27
- it 'should include all actors' do
28
- subject.actors.size.should == Celluloid::Actor.all.size
41
+ describe '#actors' do
42
+ it 'should include all actors' do
43
+ subject.actors.size.should == actor_system.running.size
44
+ end
29
45
  end
30
46
 
31
- it 'should include threads that are not actors' do
32
- pending "bugs"
33
- subject.threads.size.should == 2
47
+ describe '#threads' do
48
+ it 'should include threads that are not actors' do
49
+ subject.threads.size.should == 3
50
+ end
51
+
52
+ it 'should include idle threads' do
53
+ subject.threads.map(&:thread_id).should include(@idle_thread.object_id)
54
+ end
55
+
56
+ it 'should include threads checked out of the pool for roles other than :actor' do
57
+ subject.threads.map(&:thread_id).should include(@active_thread.object_id)
58
+ end
59
+
60
+ it 'should have the correct roles' do
61
+ subject.threads.map(&:role).should include(nil, :other_thing, :task)
62
+ end
34
63
  end
35
64
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Celluloid::SupervisionGroup do
3
+ describe Celluloid::SupervisionGroup, actor_system: :global do
4
4
  before :all do
5
5
  class MyActor
6
6
  include Celluloid
@@ -55,5 +55,11 @@ describe Celluloid::SupervisionGroup do
55
55
  Celluloid::Actor[:example_pool].args.should eq ['foo']
56
56
  Celluloid::Actor[:example_pool].size.should be 3
57
57
  end
58
+
59
+ it "allows external access to the internal registry" do
60
+ supervisor = MyGroup.run!
61
+
62
+ supervisor[:example].should be_a MyActor
63
+ end
58
64
  end
59
65
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Celluloid::Supervisor do
3
+ describe Celluloid::Supervisor, actor_system: :global do
4
4
  class SubordinateDead < StandardError; end
5
5
 
6
6
  class Subordinate
@@ -89,4 +89,15 @@ describe Celluloid::Supervisor do
89
89
  new_subordinate.should_not eq subordinate
90
90
  new_subordinate.state.should be(:working)
91
91
  end
92
+
93
+ it "removes an actor if it terminates cleanly" do
94
+ supervisor = Subordinate.supervise(:working)
95
+ subordinate = supervisor.actors.first
96
+
97
+ supervisor.actors.should == [subordinate]
98
+
99
+ subordinate.terminate
100
+
101
+ supervisor.actors.should be_empty
102
+ end
92
103
  end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Celluloid::TaskFiber do
3
+ describe Celluloid::TaskFiber, actor_system: :within do
4
4
  it_behaves_like "a Celluloid Task", Celluloid::TaskFiber
5
5
  end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Celluloid::TaskThread do
3
+ describe Celluloid::TaskThread, actor_system: :within do
4
4
  it_behaves_like "a Celluloid Task", Celluloid::TaskThread
5
5
  end
@@ -1,9 +1,13 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Celluloid::ThreadHandle do
4
+ let(:actor_system) do
5
+ Celluloid::ActorSystem.new
6
+ end
7
+
4
8
  it "knows thread liveliness" do
5
9
  queue = Queue.new
6
- handle = Celluloid::ThreadHandle.new { queue.pop }
10
+ handle = Celluloid::ThreadHandle.new(actor_system) { queue.pop }
7
11
  handle.should be_alive
8
12
 
9
13
  queue << :die
@@ -13,10 +17,10 @@ describe Celluloid::ThreadHandle do
13
17
  end
14
18
 
15
19
  it "joins to thread handles" do
16
- Celluloid::ThreadHandle.new { sleep 0.01 }.join
20
+ Celluloid::ThreadHandle.new(actor_system) { sleep 0.01 }.join
17
21
  end
18
22
 
19
23
  it "supports passing a role" do
20
- Celluloid::ThreadHandle.new(:useful) { Thread.current.role.should == :useful }.join
24
+ Celluloid::ThreadHandle.new(actor_system, :useful) { Thread.current.role.should == :useful }.join
21
25
  end
22
26
  end
@@ -4,11 +4,12 @@ Coveralls.wear!
4
4
  require 'rubygems'
5
5
  require 'bundler/setup'
6
6
  require 'celluloid/rspec'
7
+ require 'celluloid/probe'
7
8
 
8
9
  logfile = File.open(File.expand_path("../../log/test.log", __FILE__), 'a')
9
10
  logfile.sync = true
10
11
 
11
- logger = Celluloid.logger = Logger.new(logfile)
12
+ Celluloid.logger = Logger.new(logfile)
12
13
 
13
14
  Celluloid.shutdown_timeout = 1
14
15
 
@@ -18,14 +19,26 @@ RSpec.configure do |config|
18
19
  config.filter_run :focus => true
19
20
  config.run_all_when_everything_filtered = true
20
21
 
21
- config.before do
22
- Celluloid.logger = logger
23
- if Celluloid.running?
24
- Celluloid.shutdown
25
- sleep 0.01
26
- Celluloid.internal_pool.assert_inactive
22
+ config.around do |ex|
23
+ Celluloid.actor_system = nil
24
+ Thread.list.each do |thread|
25
+ next if thread == Thread.current
26
+ thread.kill
27
27
  end
28
28
 
29
+ ex.run
30
+ end
31
+
32
+ config.around actor_system: :global do |ex|
29
33
  Celluloid.boot
34
+ ex.run
35
+ Celluloid.shutdown
36
+ end
37
+
38
+ config.around actor_system: :within do |ex|
39
+ Celluloid::ActorSystem.new.within do
40
+ ex.run
41
+ end
30
42
  end
43
+
31
44
  end
@@ -65,6 +65,19 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
65
65
  method.arity.should be(1)
66
66
  end
67
67
 
68
+ it "supports #name calls via #method" do
69
+ method = actor_class.new("Troy McClure").method(:greet)
70
+ method.name.should == :greet
71
+ end
72
+
73
+ it "supports #parameters via #method" do
74
+ method = actor_class.new("Troy McClure").method(:greet)
75
+ method.parameters.should == []
76
+
77
+ method = actor_class.new("Troy McClure").method(:change_name)
78
+ method.parameters.should == [[:req, :new_name]]
79
+ end
80
+
68
81
  it "supports future(:method) syntax for synchronous future calls" do
69
82
  actor = actor_class.new "Troy McClure"
70
83
  future = actor.future :greet
@@ -148,7 +161,6 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
148
161
  end
149
162
  end
150
163
 
151
- Celluloid.logger = double.as_null_object
152
164
  Celluloid.logger.should_receive(:warn).with(/Dangerously suspending task: type=:call, meta={:method_name=>:initialize}, status=:sleeping/)
153
165
 
154
166
  actor = klass.new
@@ -175,7 +187,6 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
175
187
  end
176
188
  end
177
189
 
178
- Celluloid.logger = double.as_null_object
179
190
  Celluloid.logger.should_receive(:warn).with(/Dangerously suspending task: type=:finalizer, meta={:method_name=>:cleanup}, status=:sleeping/)
180
191
 
181
192
  actor = klass.new
@@ -221,7 +232,7 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
221
232
 
222
233
  it "inspects properly" do
223
234
  actor = actor_class.new "Troy McClure"
224
- actor.inspect.should match(/Celluloid::ActorProxy\(/)
235
+ actor.inspect.should match(/Celluloid::CellProxy\(/)
225
236
  actor.inspect.should match(/#{actor_class}/)
226
237
  actor.inspect.should include('@name="Troy McClure"')
227
238
  actor.inspect.should_not include("@celluloid")
@@ -230,7 +241,7 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
230
241
  it "inspects properly when dead" do
231
242
  actor = actor_class.new "Troy McClure"
232
243
  actor.terminate
233
- actor.inspect.should match(/Celluloid::ActorProxy\(/)
244
+ actor.inspect.should match(/Celluloid::CellProxy\(/)
234
245
  actor.inspect.should match(/#{actor_class}/)
235
246
  actor.inspect.should include('dead')
236
247
  end
@@ -252,7 +263,7 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
252
263
  itchy.other = scratchy
253
264
 
254
265
  inspection = itchy.inspect
255
- inspection.should match(/Celluloid::ActorProxy\(/)
266
+ inspection.should match(/Celluloid::CellProxy\(/)
256
267
  inspection.should include("...")
257
268
  end
258
269
 
@@ -300,27 +311,27 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
300
311
  end
301
312
 
302
313
  it "includes both sender and receiver in exception traces" do
303
- ExampleReceiver = Class.new do
314
+ example_receiver = Class.new do
304
315
  include included_module
305
316
  task_class task_klass
306
317
 
307
- def receiver_method
318
+ define_method(:receiver_method) do
308
319
  raise ExampleCrash, "the spec purposely crashed me :("
309
320
  end
310
321
  end
311
322
 
312
- ExampleCaller = Class.new do
323
+ excample_caller = Class.new do
313
324
  include included_module
314
325
  task_class task_klass
315
326
 
316
- def sender_method
317
- ExampleReceiver.new.receiver_method
327
+ define_method(:sender_method) do
328
+ example_receiver.new.receiver_method
318
329
  end
319
330
  end
320
331
 
321
332
  ex = nil
322
333
  begin
323
- ExampleCaller.new.sender_method
334
+ excample_caller.new.sender_method
324
335
  rescue => ex
325
336
  end
326
337
 
@@ -404,6 +415,15 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
404
415
  end.to raise_exception(Celluloid::DeadActorError)
405
416
  end
406
417
 
418
+ it "terminates cleanly on Celluloid shutdown" do
419
+ Celluloid::Actor.stub(:kill).and_call_original
420
+
421
+ actor = actor_class.new "Arnold Schwarzenegger"
422
+
423
+ Celluloid.shutdown
424
+ Celluloid::Actor.should_not have_received(:kill)
425
+ end
426
+
407
427
  it "raises the right DeadActorError if terminate! called after terminated" do
408
428
  actor = actor_class.new "Arnold Schwarzenegger"
409
429
  actor.terminate
@@ -414,8 +434,7 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
414
434
  end
415
435
 
416
436
  it "logs a warning when terminating tasks" do
417
- Celluloid.logger = double.as_null_object
418
- Celluloid.logger.should_receive(:warn).with("Terminating task: type=:call, meta={:method_name=>:sleepy}, status=:sleeping")
437
+ Celluloid.logger.should_receive(:warn).with(/^Terminating task: type=:call, meta={:method_name=>:sleepy}, status=:sleeping\n/)
419
438
 
420
439
  actor = actor_class.new "Arnold Schwarzenegger"
421
440
  actor.async.sleepy 10
@@ -923,7 +942,7 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
923
942
  end
924
943
 
925
944
  context :proxy_class do
926
- class ExampleProxy < Celluloid::ActorProxy
945
+ class ExampleProxy < Celluloid::CellProxy
927
946
  def subclass_proxy?
928
947
  true
929
948
  end
@@ -1000,7 +1019,6 @@ shared_examples "Celluloid::Actor examples" do |included_module, task_klass|
1000
1019
 
1001
1020
  context "raw message sends" do
1002
1021
  it "logs on unhandled messages" do
1003
- Celluloid.logger = double.as_null_object
1004
1022
  Celluloid.logger.should_receive(:debug).with("Discarded message (unhandled): first")
1005
1023
 
1006
1024
  actor = actor_class.new "Irma Gladden"
@@ -1,4 +1,9 @@
1
1
  shared_context "a Celluloid Mailbox" do
2
+ after do
3
+ Celluloid.logger.stub(:debug)
4
+ subject.shutdown if subject.alive?
5
+ end
6
+
2
7
  it "receives messages" do
3
8
  message = :ohai
4
9
 
@@ -34,7 +39,10 @@ shared_context "a Celluloid Mailbox" do
34
39
  interval = 0.1
35
40
  started_at = Time.now
36
41
 
37
- subject.receive(interval) { false }
42
+ expect do
43
+ subject.receive(interval) { false }
44
+ end.to raise_exception(Celluloid::TimeoutError)
45
+
38
46
  (Time.now - started_at).should be_within(Celluloid::TIMER_QUANTUM).of interval
39
47
  end
40
48
 
@@ -55,7 +63,6 @@ shared_context "a Celluloid Mailbox" do
55
63
  end
56
64
 
57
65
  it "logs discarded messages" do
58
- Celluloid.logger = double.as_null_object
59
66
  Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): third")
60
67
 
61
68
  subject.max_size = 2
@@ -65,7 +72,6 @@ shared_context "a Celluloid Mailbox" do
65
72
  end
66
73
 
67
74
  it "discard messages when dead" do
68
- Celluloid.logger = double.as_null_object
69
75
  Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): first")
70
76
  Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): second")
71
77
  Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): third")
@@ -17,11 +17,13 @@ shared_context "a Celluloid Task" do |task_class|
17
17
  subject { task_class.new(task_type, {}) { Celluloid::Task.suspend(suspend_state) } }
18
18
 
19
19
  before :each do
20
+ Thread.current[:celluloid_actor_system] = Celluloid.actor_system
20
21
  Thread.current[:celluloid_actor] = actor
21
22
  end
22
23
 
23
24
  after :each do
24
25
  Thread.current[:celluloid_actor] = nil
26
+ Thread.current[:celluloid_actor_system] = nil
25
27
  end
26
28
 
27
29
  it "begins with status :new" do
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: celluloid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.2
4
+ version: 0.16.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-06 00:00:00.000000000 Z
11
+ date: 2014-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: timers
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.1.0
19
+ version: 2.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.1.0
26
+ version: 2.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 2.14.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 2.14.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: guard-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: benchmark_suite
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: Celluloid enables people to build concurrent programs out of concurrent
@@ -88,37 +88,45 @@ executables: []
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
+ - LICENSE.txt
91
92
  - README.md
93
+ - lib/celluloid.rb
92
94
  - lib/celluloid/actor.rb
95
+ - lib/celluloid/actor_system.rb
93
96
  - lib/celluloid/autostart.rb
94
97
  - lib/celluloid/call_chain.rb
95
98
  - lib/celluloid/calls.rb
99
+ - lib/celluloid/cell.rb
96
100
  - lib/celluloid/condition.rb
97
101
  - lib/celluloid/core_ext.rb
98
102
  - lib/celluloid/cpu_counter.rb
99
103
  - lib/celluloid/evented_mailbox.rb
104
+ - lib/celluloid/exceptions.rb
100
105
  - lib/celluloid/fiber.rb
101
106
  - lib/celluloid/fsm.rb
102
107
  - lib/celluloid/future.rb
108
+ - lib/celluloid/handlers.rb
103
109
  - lib/celluloid/internal_pool.rb
104
110
  - lib/celluloid/legacy.rb
105
111
  - lib/celluloid/links.rb
106
112
  - lib/celluloid/logger.rb
113
+ - lib/celluloid/logging.rb
107
114
  - lib/celluloid/logging/incident.rb
108
115
  - lib/celluloid/logging/incident_logger.rb
109
116
  - lib/celluloid/logging/incident_reporter.rb
110
117
  - lib/celluloid/logging/log_event.rb
111
118
  - lib/celluloid/logging/ring_buffer.rb
112
- - lib/celluloid/logging.rb
113
119
  - lib/celluloid/mailbox.rb
114
120
  - lib/celluloid/method.rb
115
121
  - lib/celluloid/notifications.rb
116
122
  - lib/celluloid/pool_manager.rb
123
+ - lib/celluloid/probe.rb
117
124
  - lib/celluloid/properties.rb
118
125
  - lib/celluloid/proxies/abstract_proxy.rb
119
126
  - lib/celluloid/proxies/actor_proxy.rb
120
127
  - lib/celluloid/proxies/async_proxy.rb
121
128
  - lib/celluloid/proxies/block_proxy.rb
129
+ - lib/celluloid/proxies/cell_proxy.rb
122
130
  - lib/celluloid/proxies/future_proxy.rb
123
131
  - lib/celluloid/proxies/sync_proxy.rb
124
132
  - lib/celluloid/receivers.rb
@@ -131,18 +139,19 @@ files:
131
139
  - lib/celluloid/supervisor.rb
132
140
  - lib/celluloid/system_events.rb
133
141
  - lib/celluloid/task_set.rb
142
+ - lib/celluloid/tasks.rb
134
143
  - lib/celluloid/tasks/task_fiber.rb
135
144
  - lib/celluloid/tasks/task_thread.rb
136
- - lib/celluloid/tasks.rb
137
145
  - lib/celluloid/test.rb
138
146
  - lib/celluloid/thread.rb
139
147
  - lib/celluloid/thread_handle.rb
140
148
  - lib/celluloid/uuid.rb
141
- - lib/celluloid.rb
142
149
  - spec/celluloid/actor_spec.rb
150
+ - spec/celluloid/actor_system_spec.rb
143
151
  - spec/celluloid/block_spec.rb
144
152
  - spec/celluloid/calls_spec.rb
145
153
  - spec/celluloid/condition_spec.rb
154
+ - spec/celluloid/cpu_counter_spec.rb
146
155
  - spec/celluloid/evented_mailbox_spec.rb
147
156
  - spec/celluloid/fsm_spec.rb
148
157
  - spec/celluloid/future_spec.rb
@@ -152,6 +161,7 @@ files:
152
161
  - spec/celluloid/mailbox_spec.rb
153
162
  - spec/celluloid/notifications_spec.rb
154
163
  - spec/celluloid/pool_spec.rb
164
+ - spec/celluloid/probe_spec.rb
155
165
  - spec/celluloid/properties_spec.rb
156
166
  - spec/celluloid/registry_spec.rb
157
167
  - spec/celluloid/stack_dump_spec.rb
@@ -176,17 +186,17 @@ require_paths:
176
186
  - lib
177
187
  required_ruby_version: !ruby/object:Gem::Requirement
178
188
  requirements:
179
- - - '>='
189
+ - - ">="
180
190
  - !ruby/object:Gem::Version
181
191
  version: 1.9.2
182
192
  required_rubygems_version: !ruby/object:Gem::Requirement
183
193
  requirements:
184
- - - '>='
194
+ - - ">="
185
195
  - !ruby/object:Gem::Version
186
196
  version: 1.3.6
187
197
  requirements: []
188
198
  rubyforge_project:
189
- rubygems_version: 2.0.3
199
+ rubygems_version: 2.2.0
190
200
  signing_key:
191
201
  specification_version: 4
192
202
  summary: Actor-based concurrent object framework for Ruby