celluloid 0.14.1 → 0.15.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/README.md +6 -2
- data/lib/celluloid.rb +92 -108
- data/lib/celluloid/actor.rb +42 -64
- data/lib/celluloid/autostart.rb +1 -1
- data/lib/celluloid/call_chain.rb +13 -0
- data/lib/celluloid/calls.rb +5 -8
- data/lib/celluloid/condition.rb +8 -10
- data/lib/celluloid/cpu_counter.rb +1 -1
- data/lib/celluloid/evented_mailbox.rb +7 -10
- data/lib/celluloid/fsm.rb +1 -1
- data/lib/celluloid/future.rb +1 -2
- data/lib/celluloid/internal_pool.rb +77 -20
- data/lib/celluloid/legacy.rb +0 -38
- data/lib/celluloid/mailbox.rb +17 -10
- data/lib/celluloid/pool_manager.rb +1 -1
- data/lib/celluloid/properties.rb +24 -0
- data/lib/celluloid/proxies/abstract_proxy.rb +3 -0
- data/lib/celluloid/proxies/actor_proxy.rb +3 -32
- data/lib/celluloid/proxies/async_proxy.rb +4 -8
- data/lib/celluloid/proxies/future_proxy.rb +8 -6
- data/lib/celluloid/proxies/sync_proxy.rb +12 -7
- data/lib/celluloid/rspec.rb +3 -1
- data/lib/celluloid/signals.rb +7 -35
- data/lib/celluloid/stack_dump.rb +50 -37
- data/lib/celluloid/supervision_group.rb +5 -5
- data/lib/celluloid/task_set.rb +49 -0
- data/lib/celluloid/tasks.rb +67 -42
- data/lib/celluloid/tasks/task_fiber.rb +3 -1
- data/lib/celluloid/tasks/task_thread.rb +2 -3
- data/lib/celluloid/thread.rb +2 -0
- data/spec/celluloid/actor_spec.rb +5 -0
- data/spec/celluloid/block_spec.rb +54 -0
- data/spec/celluloid/calls_spec.rb +42 -0
- data/spec/celluloid/condition_spec.rb +65 -0
- data/spec/celluloid/evented_mailbox_spec.rb +34 -0
- data/spec/celluloid/fsm_spec.rb +107 -0
- data/spec/celluloid/future_spec.rb +32 -0
- data/spec/celluloid/internal_pool_spec.rb +52 -0
- data/spec/celluloid/links_spec.rb +45 -0
- data/spec/celluloid/logging/ring_buffer_spec.rb +38 -0
- data/spec/celluloid/mailbox_spec.rb +5 -0
- data/spec/celluloid/notifications_spec.rb +120 -0
- data/spec/celluloid/pool_spec.rb +52 -0
- data/spec/celluloid/properties_spec.rb +42 -0
- data/spec/celluloid/registry_spec.rb +64 -0
- data/spec/celluloid/stack_dump_spec.rb +35 -0
- data/spec/celluloid/supervision_group_spec.rb +53 -0
- data/spec/celluloid/supervisor_spec.rb +92 -0
- data/spec/celluloid/tasks/task_fiber_spec.rb +5 -0
- data/spec/celluloid/tasks/task_thread_spec.rb +5 -0
- data/spec/celluloid/thread_handle_spec.rb +22 -0
- data/spec/celluloid/uuid_spec.rb +11 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/support/actor_examples.rb +161 -10
- data/spec/support/example_actor_class.rb +8 -0
- data/spec/support/mailbox_examples.rb +15 -3
- data/spec/support/task_examples.rb +2 -2
- metadata +28 -3
- data/lib/celluloid/version.rb +0 -4
@@ -12,6 +12,10 @@ module ExampleActorClass
|
|
12
12
|
@delegate = [:bar]
|
13
13
|
end
|
14
14
|
|
15
|
+
def sleepy(duration)
|
16
|
+
sleep duration
|
17
|
+
end
|
18
|
+
|
15
19
|
def change_name(new_name)
|
16
20
|
@name = new_name
|
17
21
|
end
|
@@ -66,6 +70,10 @@ module ExampleActorClass
|
|
66
70
|
string.reverse
|
67
71
|
end
|
68
72
|
|
73
|
+
def shutdown
|
74
|
+
terminate
|
75
|
+
end
|
76
|
+
|
69
77
|
def method_missing(method_name, *args, &block)
|
70
78
|
if delegates?(method_name)
|
71
79
|
@delegate.send method_name, *args, &block
|
@@ -43,7 +43,7 @@ shared_context "a Celluloid Mailbox" do
|
|
43
43
|
subject.size.should be_zero
|
44
44
|
subject << :foo
|
45
45
|
subject << :foo
|
46
|
-
subject.
|
46
|
+
subject.should have(2).entries
|
47
47
|
end
|
48
48
|
|
49
49
|
it "discards messages received when when full" do
|
@@ -55,12 +55,24 @@ shared_context "a Celluloid Mailbox" do
|
|
55
55
|
end
|
56
56
|
|
57
57
|
it "logs discarded messages" do
|
58
|
-
Celluloid.logger =
|
59
|
-
Celluloid.logger.should_receive(:debug).with("Discarded message: third")
|
58
|
+
Celluloid.logger = double.as_null_object
|
59
|
+
Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): third")
|
60
60
|
|
61
61
|
subject.max_size = 2
|
62
62
|
subject << :first
|
63
63
|
subject << :second
|
64
64
|
subject << :third
|
65
65
|
end
|
66
|
+
|
67
|
+
it "discard messages when dead" do
|
68
|
+
Celluloid.logger = double.as_null_object
|
69
|
+
Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): first")
|
70
|
+
Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): second")
|
71
|
+
Celluloid.logger.should_receive(:debug).with("Discarded message (mailbox is dead): third")
|
72
|
+
|
73
|
+
subject << :first
|
74
|
+
subject << :second
|
75
|
+
subject.shutdown
|
76
|
+
subject << :third
|
77
|
+
end
|
66
78
|
end
|
@@ -14,7 +14,7 @@ shared_context "a Celluloid Task" do |task_class|
|
|
14
14
|
let(:suspend_state) { :doing_something }
|
15
15
|
let(:actor) { MockActor.new }
|
16
16
|
|
17
|
-
subject { task_class.new(task_type) { Celluloid::Task.suspend(suspend_state) } }
|
17
|
+
subject { task_class.new(task_type, {}) { Celluloid::Task.suspend(suspend_state) } }
|
18
18
|
|
19
19
|
before :each do
|
20
20
|
Thread.current[:celluloid_actor] = actor
|
@@ -37,7 +37,7 @@ shared_context "a Celluloid Task" do |task_class|
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it "raises exceptions outside" do
|
40
|
-
task = task_class.new(task_type) do
|
40
|
+
task = task_class.new(task_type, {}) do
|
41
41
|
raise "failure"
|
42
42
|
end
|
43
43
|
expect do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: celluloid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.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-
|
11
|
+
date: 2013-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: timers
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- README.md
|
92
92
|
- lib/celluloid/actor.rb
|
93
93
|
- lib/celluloid/autostart.rb
|
94
|
+
- lib/celluloid/call_chain.rb
|
94
95
|
- lib/celluloid/calls.rb
|
95
96
|
- lib/celluloid/condition.rb
|
96
97
|
- lib/celluloid/core_ext.rb
|
@@ -113,6 +114,7 @@ files:
|
|
113
114
|
- lib/celluloid/method.rb
|
114
115
|
- lib/celluloid/notifications.rb
|
115
116
|
- lib/celluloid/pool_manager.rb
|
117
|
+
- lib/celluloid/properties.rb
|
116
118
|
- lib/celluloid/proxies/abstract_proxy.rb
|
117
119
|
- lib/celluloid/proxies/actor_proxy.rb
|
118
120
|
- lib/celluloid/proxies/async_proxy.rb
|
@@ -128,14 +130,37 @@ files:
|
|
128
130
|
- lib/celluloid/supervision_group.rb
|
129
131
|
- lib/celluloid/supervisor.rb
|
130
132
|
- lib/celluloid/system_events.rb
|
133
|
+
- lib/celluloid/task_set.rb
|
131
134
|
- lib/celluloid/tasks/task_fiber.rb
|
132
135
|
- lib/celluloid/tasks/task_thread.rb
|
133
136
|
- lib/celluloid/tasks.rb
|
134
137
|
- lib/celluloid/thread.rb
|
135
138
|
- lib/celluloid/thread_handle.rb
|
136
139
|
- lib/celluloid/uuid.rb
|
137
|
-
- lib/celluloid/version.rb
|
138
140
|
- lib/celluloid.rb
|
141
|
+
- spec/celluloid/actor_spec.rb
|
142
|
+
- spec/celluloid/block_spec.rb
|
143
|
+
- spec/celluloid/calls_spec.rb
|
144
|
+
- spec/celluloid/condition_spec.rb
|
145
|
+
- spec/celluloid/evented_mailbox_spec.rb
|
146
|
+
- spec/celluloid/fsm_spec.rb
|
147
|
+
- spec/celluloid/future_spec.rb
|
148
|
+
- spec/celluloid/internal_pool_spec.rb
|
149
|
+
- spec/celluloid/links_spec.rb
|
150
|
+
- spec/celluloid/logging/ring_buffer_spec.rb
|
151
|
+
- spec/celluloid/mailbox_spec.rb
|
152
|
+
- spec/celluloid/notifications_spec.rb
|
153
|
+
- spec/celluloid/pool_spec.rb
|
154
|
+
- spec/celluloid/properties_spec.rb
|
155
|
+
- spec/celluloid/registry_spec.rb
|
156
|
+
- spec/celluloid/stack_dump_spec.rb
|
157
|
+
- spec/celluloid/supervision_group_spec.rb
|
158
|
+
- spec/celluloid/supervisor_spec.rb
|
159
|
+
- spec/celluloid/tasks/task_fiber_spec.rb
|
160
|
+
- spec/celluloid/tasks/task_thread_spec.rb
|
161
|
+
- spec/celluloid/thread_handle_spec.rb
|
162
|
+
- spec/celluloid/uuid_spec.rb
|
163
|
+
- spec/spec_helper.rb
|
139
164
|
- spec/support/actor_examples.rb
|
140
165
|
- spec/support/example_actor_class.rb
|
141
166
|
- spec/support/mailbox_examples.rb
|
data/lib/celluloid/version.rb
DELETED