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.
- checksums.yaml +4 -4
- data/LICENSE.txt +20 -0
- data/README.md +29 -2
- data/lib/celluloid.rb +68 -73
- data/lib/celluloid/actor.rb +69 -123
- data/lib/celluloid/actor_system.rb +107 -0
- data/lib/celluloid/calls.rb +16 -16
- data/lib/celluloid/cell.rb +89 -0
- data/lib/celluloid/condition.rb +25 -8
- data/lib/celluloid/cpu_counter.rb +2 -0
- data/lib/celluloid/evented_mailbox.rb +2 -1
- data/lib/celluloid/exceptions.rb +23 -0
- data/lib/celluloid/future.rb +1 -1
- data/lib/celluloid/handlers.rb +41 -0
- data/lib/celluloid/internal_pool.rb +0 -3
- data/lib/celluloid/logger.rb +30 -0
- data/lib/celluloid/logging/incident_logger.rb +1 -1
- data/lib/celluloid/mailbox.rb +19 -18
- data/lib/celluloid/method.rb +8 -0
- data/lib/celluloid/pool_manager.rb +1 -1
- data/lib/celluloid/probe.rb +73 -0
- data/lib/celluloid/properties.rb +2 -2
- data/lib/celluloid/proxies/actor_proxy.rb +9 -41
- data/lib/celluloid/proxies/cell_proxy.rb +68 -0
- data/lib/celluloid/proxies/sync_proxy.rb +1 -1
- data/lib/celluloid/receivers.rb +1 -0
- data/lib/celluloid/registry.rb +1 -8
- data/lib/celluloid/stack_dump.rb +34 -11
- data/lib/celluloid/supervision_group.rb +26 -14
- data/lib/celluloid/tasks.rb +6 -9
- data/lib/celluloid/tasks/task_fiber.rb +6 -0
- data/lib/celluloid/tasks/task_thread.rb +2 -1
- data/lib/celluloid/thread_handle.rb +2 -2
- data/spec/celluloid/actor_spec.rb +1 -1
- data/spec/celluloid/actor_system_spec.rb +69 -0
- data/spec/celluloid/block_spec.rb +1 -1
- data/spec/celluloid/calls_spec.rb +1 -1
- data/spec/celluloid/condition_spec.rb +14 -3
- data/spec/celluloid/cpu_counter_spec.rb +9 -0
- data/spec/celluloid/fsm_spec.rb +1 -1
- data/spec/celluloid/future_spec.rb +1 -1
- data/spec/celluloid/notifications_spec.rb +1 -1
- data/spec/celluloid/pool_spec.rb +1 -1
- data/spec/celluloid/probe_spec.rb +121 -0
- data/spec/celluloid/registry_spec.rb +6 -6
- data/spec/celluloid/stack_dump_spec.rb +37 -8
- data/spec/celluloid/supervision_group_spec.rb +7 -1
- data/spec/celluloid/supervisor_spec.rb +12 -1
- data/spec/celluloid/tasks/task_fiber_spec.rb +1 -1
- data/spec/celluloid/tasks/task_thread_spec.rb +1 -1
- data/spec/celluloid/thread_handle_spec.rb +7 -3
- data/spec/spec_helper.rb +20 -7
- data/spec/support/actor_examples.rb +33 -15
- data/spec/support/mailbox_examples.rb +9 -3
- data/spec/support/task_examples.rb +2 -0
- 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].
|
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::
|
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::
|
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 =
|
25
|
+
actor = actor_system.within do
|
26
|
+
actor_klass.new
|
27
|
+
end
|
18
28
|
actor.async.blocking
|
19
29
|
end
|
20
30
|
|
21
|
-
|
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
|
-
|
28
|
-
|
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
|
-
|
32
|
-
|
33
|
-
|
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,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
|
data/spec/spec_helper.rb
CHANGED
@@ -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
|
-
|
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.
|
22
|
-
Celluloid.
|
23
|
-
|
24
|
-
|
25
|
-
|
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::
|
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::
|
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::
|
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
|
-
|
314
|
+
example_receiver = Class.new do
|
304
315
|
include included_module
|
305
316
|
task_class task_klass
|
306
317
|
|
307
|
-
|
318
|
+
define_method(:receiver_method) do
|
308
319
|
raise ExampleCrash, "the spec purposely crashed me :("
|
309
320
|
end
|
310
321
|
end
|
311
322
|
|
312
|
-
|
323
|
+
excample_caller = Class.new do
|
313
324
|
include included_module
|
314
325
|
task_class task_klass
|
315
326
|
|
316
|
-
|
317
|
-
|
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
|
-
|
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 =
|
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::
|
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
|
-
|
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.
|
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:
|
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:
|
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:
|
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:
|
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:
|
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
|
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
|