celluloid 0.17.2 → 0.18.0

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 (174) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +340 -75
  3. data/CONDUCT.md +13 -0
  4. data/CONTRIBUTING.md +39 -0
  5. data/LICENSE.txt +1 -1
  6. data/README.md +54 -150
  7. data/REFACTOR.md +1 -0
  8. data/architecture.md +120 -0
  9. data/examples/basic_usage.rb +1 -1
  10. data/examples/configurations.rb +78 -0
  11. data/examples/futures.rb +1 -1
  12. data/examples/ring.rb +5 -4
  13. data/examples/simple_pmap.rb +1 -1
  14. data/examples/stack.rb +2 -2
  15. data/examples/supervisors_and_registry.rb +82 -0
  16. data/examples/timers.rb +2 -2
  17. data/lib/celluloid.rb +78 -65
  18. data/lib/celluloid/actor.rb +27 -17
  19. data/lib/celluloid/actor/system.rb +13 -29
  20. data/lib/celluloid/autostart.rb +6 -1
  21. data/lib/celluloid/call/async.rb +2 -0
  22. data/lib/celluloid/call/sync.rb +10 -3
  23. data/lib/celluloid/calls.rb +13 -13
  24. data/lib/celluloid/cell.rb +5 -9
  25. data/lib/celluloid/condition.rb +3 -3
  26. data/lib/celluloid/core_ext.rb +0 -2
  27. data/lib/celluloid/debug.rb +3 -0
  28. data/lib/celluloid/exceptions.rb +2 -2
  29. data/lib/celluloid/future.rb +8 -10
  30. data/lib/celluloid/group.rb +16 -6
  31. data/lib/celluloid/group/pool.rb +1 -3
  32. data/lib/celluloid/group/spawner.rb +2 -6
  33. data/lib/celluloid/internals/call_chain.rb +15 -0
  34. data/lib/celluloid/internals/cpu_counter.rb +62 -0
  35. data/lib/celluloid/internals/handlers.rb +42 -0
  36. data/lib/celluloid/internals/links.rb +38 -0
  37. data/lib/celluloid/internals/logger.rb +104 -0
  38. data/lib/celluloid/internals/method.rb +34 -0
  39. data/lib/celluloid/internals/properties.rb +32 -0
  40. data/lib/celluloid/internals/receivers.rb +64 -0
  41. data/lib/celluloid/internals/registry.rb +102 -0
  42. data/lib/celluloid/internals/responses.rb +46 -0
  43. data/lib/celluloid/internals/signals.rb +24 -0
  44. data/lib/celluloid/internals/stack.rb +74 -0
  45. data/lib/celluloid/internals/stack/dump.rb +12 -0
  46. data/lib/celluloid/internals/stack/states.rb +72 -0
  47. data/lib/celluloid/internals/stack/summary.rb +12 -0
  48. data/lib/celluloid/internals/task_set.rb +51 -0
  49. data/lib/celluloid/internals/thread_handle.rb +52 -0
  50. data/lib/celluloid/internals/uuid.rb +40 -0
  51. data/lib/celluloid/logging/incident.rb +21 -0
  52. data/lib/celluloid/logging/incident_logger.rb +147 -0
  53. data/lib/celluloid/logging/incident_reporter.rb +49 -0
  54. data/lib/celluloid/logging/log_event.rb +20 -0
  55. data/lib/celluloid/logging/ring_buffer.rb +64 -0
  56. data/lib/celluloid/mailbox.rb +22 -9
  57. data/lib/celluloid/mailbox/evented.rb +13 -7
  58. data/lib/celluloid/notifications.rb +95 -0
  59. data/lib/celluloid/pool.rb +6 -0
  60. data/lib/celluloid/probe.rb +81 -0
  61. data/lib/celluloid/proxy/abstract.rb +38 -7
  62. data/lib/celluloid/proxy/actor.rb +0 -5
  63. data/lib/celluloid/proxy/async.rb +2 -18
  64. data/lib/celluloid/proxy/block.rb +2 -1
  65. data/lib/celluloid/proxy/cell.rb +1 -7
  66. data/lib/celluloid/proxy/future.rb +3 -21
  67. data/lib/celluloid/proxy/sync.rb +2 -20
  68. data/lib/celluloid/rspec.rb +22 -34
  69. data/lib/celluloid/supervision.rb +17 -0
  70. data/lib/celluloid/supervision/configuration.rb +169 -0
  71. data/lib/celluloid/supervision/configuration/injections.rb +8 -0
  72. data/lib/celluloid/supervision/configuration/instance.rb +113 -0
  73. data/lib/celluloid/supervision/constants.rb +123 -0
  74. data/lib/celluloid/supervision/container.rb +144 -0
  75. data/lib/celluloid/supervision/container/behavior.rb +89 -0
  76. data/lib/celluloid/supervision/container/behavior/pool.rb +71 -0
  77. data/lib/celluloid/supervision/container/behavior/tree.rb +23 -0
  78. data/lib/celluloid/supervision/container/injections.rb +8 -0
  79. data/lib/celluloid/supervision/container/instance.rb +116 -0
  80. data/lib/celluloid/supervision/container/pool.rb +210 -0
  81. data/lib/celluloid/supervision/service.rb +27 -0
  82. data/lib/celluloid/supervision/supervise.rb +34 -0
  83. data/lib/celluloid/supervision/validation.rb +40 -0
  84. data/lib/celluloid/supervision/version.rb +5 -0
  85. data/lib/celluloid/system_events.rb +10 -3
  86. data/lib/celluloid/task.rb +25 -12
  87. data/lib/celluloid/task/fibered.rb +6 -2
  88. data/lib/celluloid/task/threaded.rb +3 -3
  89. data/lib/celluloid/test.rb +5 -2
  90. data/lib/celluloid/thread.rb +0 -2
  91. data/lib/celluloid/version.rb +1 -1
  92. data/spec/celluloid/block_spec.rb +29 -32
  93. data/spec/celluloid/calls_spec.rb +5 -15
  94. data/spec/celluloid/future_spec.rb +7 -1
  95. data/spec/celluloid/internals/cpu_counter_spec.rb +129 -0
  96. data/spec/celluloid/internals/links_spec.rb +43 -0
  97. data/spec/celluloid/internals/properties_spec.rb +40 -0
  98. data/spec/celluloid/internals/registry_spec.rb +62 -0
  99. data/spec/celluloid/internals/stack/dump_spec.rb +4 -0
  100. data/spec/celluloid/internals/stack/summary_spec.rb +4 -0
  101. data/spec/celluloid/internals/thread_handle_spec.rb +60 -0
  102. data/spec/celluloid/internals/uuid_spec.rb +9 -0
  103. data/spec/celluloid/logging/ring_buffer_spec.rb +36 -0
  104. data/spec/celluloid/mailbox/evented_spec.rb +21 -19
  105. data/spec/celluloid/misc/leak_spec.rb +3 -4
  106. data/spec/celluloid/notifications_spec.rb +140 -0
  107. data/spec/celluloid/probe_spec.rb +102 -0
  108. data/spec/celluloid/proxy_spec.rb +33 -0
  109. data/spec/celluloid/supervision/behavior_spec.rb +74 -0
  110. data/spec/celluloid/supervision/configuration_spec.rb +181 -0
  111. data/spec/celluloid/supervision/container_spec.rb +72 -0
  112. data/spec/celluloid/supervision/instance_spec.rb +13 -0
  113. data/spec/celluloid/supervision/root_spec.rb +28 -0
  114. data/spec/celluloid/supervision/supervisor_spec.rb +93 -0
  115. data/spec/celluloid/task/fibered_spec.rb +1 -3
  116. data/spec/celluloid/task/threaded_spec.rb +1 -3
  117. data/spec/shared/actor_examples.rb +65 -29
  118. data/spec/shared/group_examples.rb +2 -2
  119. data/spec/shared/mailbox_examples.rb +1 -1
  120. data/spec/shared/stack_examples.rb +87 -0
  121. data/spec/shared/task_examples.rb +2 -3
  122. data/spec/spec_helper.rb +2 -4
  123. data/spec/support/configure_rspec.rb +3 -4
  124. data/spec/support/coverage.rb +2 -4
  125. data/spec/support/crash_checking.rb +2 -2
  126. data/spec/support/examples/actor_class.rb +3 -8
  127. data/spec/support/examples/call_class.rb +2 -2
  128. data/spec/support/examples/container_class.rb +35 -0
  129. data/spec/support/examples/evented_mailbox_class.rb +1 -2
  130. data/spec/support/examples/stack_classes.rb +58 -0
  131. data/spec/support/examples/stack_methods.rb +23 -0
  132. data/spec/support/examples/subordinate_class.rb +19 -0
  133. data/spec/support/logging.rb +3 -34
  134. data/spec/support/loose_threads.rb +3 -24
  135. data/spec/support/reset_class_variables.rb +5 -1
  136. data/spec/support/stubbing.rb +1 -1
  137. metadata +93 -291
  138. data/culture/CONDUCT.md +0 -28
  139. data/culture/Gemfile +0 -9
  140. data/culture/LICENSE.txt +0 -22
  141. data/culture/README.md +0 -22
  142. data/culture/Rakefile +0 -5
  143. data/culture/SYNC.md +0 -70
  144. data/culture/celluloid-culture.gemspec +0 -18
  145. data/culture/gems/README.md +0 -39
  146. data/culture/gems/dependencies.yml +0 -85
  147. data/culture/gems/loader.rb +0 -101
  148. data/culture/rubocop/README.md +0 -38
  149. data/culture/rubocop/lint.yml +0 -8
  150. data/culture/rubocop/metrics.yml +0 -15
  151. data/culture/rubocop/perf.yml +0 -0
  152. data/culture/rubocop/rubocop.yml +0 -5
  153. data/culture/rubocop/style.yml +0 -57
  154. data/culture/spec/gems_spec.rb +0 -2
  155. data/culture/spec/spec_helper.rb +0 -0
  156. data/culture/spec/sync_spec.rb +0 -2
  157. data/culture/sync.rb +0 -56
  158. data/culture/tasks/rspec.rake +0 -5
  159. data/culture/tasks/rubocop.rake +0 -2
  160. data/lib/celluloid/actor/manager.rb +0 -7
  161. data/lib/celluloid/backported.rb +0 -2
  162. data/lib/celluloid/current.rb +0 -2
  163. data/lib/celluloid/deprecate.rb +0 -21
  164. data/lib/celluloid/fiber.rb +0 -32
  165. data/lib/celluloid/managed.rb +0 -3
  166. data/lib/celluloid/notices.rb +0 -15
  167. data/spec/celluloid/actor/manager_spec.rb +0 -0
  168. data/spec/deprecate/actor_system_spec.rb +0 -72
  169. data/spec/deprecate/block_spec.rb +0 -52
  170. data/spec/deprecate/calls_spec.rb +0 -39
  171. data/spec/deprecate/evented_mailbox_spec.rb +0 -34
  172. data/spec/deprecate/future_spec.rb +0 -32
  173. data/spec/deprecate/internal_pool_spec.rb +0 -4
  174. data/spec/support/env.rb +0 -21
@@ -5,10 +5,6 @@ module Specs
5
5
  next unless thread
6
6
  next if thread == Thread.current
7
7
 
8
- # TODO: Remove Specs::ALLOW_SLOW_MAILBOXES hax.
9
- # Allows slow shutdown of mailboxes.
10
- # Find more graceful way to do shutdown.
11
-
12
8
  if RUBY_PLATFORM == "java"
13
9
  # Avoid disrupting jRuby's "fiber" threads.
14
10
  name = thread.to_java.getNativeThread.get_name
@@ -17,29 +13,12 @@ module Specs
17
13
  backtrace = thread.backtrace # avoid race maybe
18
14
  next unless backtrace
19
15
  next if backtrace.empty? # possibly a timer thread
20
- end
21
-
22
- if RUBY_ENGINE == "rbx"
23
- # Avoid disrupting Rubinious thread
24
- next if thread.backtrace.first =~ %r{rubysl/timeout/timeout\.rb}
25
-
26
- if Specs::ALLOW_SLOW_MAILBOXES
27
- if thread.backtrace.first =~ /wait/
28
- next if thread.backtrace[1] =~ /mailbox\.rb/ && thread.backtrace[1] =~ /check/
29
- end
30
- end
31
- end
32
-
33
- if RUBY_ENGINE == "ruby"
16
+ else
34
17
  # Sometimes stays
35
18
  next if thread.backtrace.nil?
36
19
  next unless thread.backtrace.is_a?(Array)
37
20
  next if thread.backtrace.empty?
38
21
  next if thread.backtrace.first =~ /timeout\.rb/
39
-
40
- if Specs::ALLOW_SLOW_MAILBOXES
41
- next if thread.backtrace[1] =~ /mailbox\.rb/ && thread.backtrace[1] =~ /sleep/
42
- end
43
22
  end
44
23
 
45
24
  thread
@@ -47,7 +26,7 @@ module Specs
47
26
  end
48
27
 
49
28
  def thread_name(thread)
50
- (RUBY_PLATFORM == "java") ? thread.to_java.getNativeThread.get_name : ""
29
+ RUBY_PLATFORM == "java" ? thread.to_java.getNativeThread.get_name : ""
51
30
  end
52
31
 
53
32
  def assert_no_loose_threads!(location)
@@ -69,7 +48,7 @@ module Specs
69
48
  sleep
70
49
  end
71
50
 
72
- fail Celluloid::ThreadLeak, "Aborted due to runaway threads (#{location})\n"\
51
+ raise Celluloid::ThreadLeak, "Aborted due to runaway threads (#{location})\n"\
73
52
  "List: (#{loose.map(&:inspect)})\n:#{backtraces.join("\n")}"
74
53
  end
75
54
  end
@@ -2,7 +2,7 @@ module Specs
2
2
  class << self
3
3
  def reset_class_variables(description)
4
4
  # build uuid from example ending (most unique)
5
- uuid_prefix = description[-([description.size, 20].min)..-1]
5
+ uuid_prefix = description[-[description.size, 20].min..-1]
6
6
  reset_uuid(uuid_prefix)
7
7
 
8
8
  reset_probe(Queue.new)
@@ -11,7 +11,11 @@ module Specs
11
11
  end
12
12
 
13
13
  def reset_probe(value)
14
+ # !!! DO NOT INTRODUCE ADDITIONAL GLOBAL VARIABLES !!!
15
+ # rubocop:disable Style/GlobalVars
14
16
  $CELLULOID_MONITORING = !value.nil?
17
+ # rubocop:enable Style/GlobalVars
18
+
15
19
  replace_const(Celluloid::Probe, :EVENTS_BUFFER, value)
16
20
  end
17
21
 
@@ -3,7 +3,7 @@ module Specs
3
3
  meta = (class << mod; self; end)
4
4
  original_meth = "original_#{meth}".to_sym
5
5
 
6
- fail "ALREADY TRACED: #{mod}.#{meth}" if mod.respond_to?(original_meth)
6
+ raise "ALREADY TRACED: #{mod}.#{meth}" if mod.respond_to?(original_meth)
7
7
 
8
8
  meta.send(:alias_method, original_meth, meth)
9
9
  meta.send(:define_method, meth) do |*args, &block|
metadata CHANGED
@@ -1,314 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: celluloid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.2
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Arcieri
8
8
  - Donovan Keme
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-09-30 00:00:00.000000000 Z
12
+ date: 2020-12-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: bundler
16
- version_requirements: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: '0'
21
- type: :development
22
- prerelease: false
23
- requirement: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- version: '0'
28
- - !ruby/object:Gem::Dependency
29
- name: nenv
30
- version_requirements: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :development
36
- prerelease: false
37
- requirement: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
- - !ruby/object:Gem::Dependency
43
- name: dotenv
44
- version_requirements: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- version: '0'
49
- type: :development
50
- prerelease: false
51
- requirement: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: '0'
56
- - !ruby/object:Gem::Dependency
57
- name: benchmark_suite
58
- version_requirements: !ruby/object:Gem::Requirement
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
62
- version: '0'
63
- type: :development
64
- prerelease: false
65
- requirement: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- - !ruby/object:Gem::Dependency
71
- name: rubocop
72
- version_requirements: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- type: :development
78
- prerelease: false
79
- requirement: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- - !ruby/object:Gem::Dependency
85
- name: transpec
86
- version_requirements: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0'
91
- type: :development
92
- prerelease: false
93
- requirement: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
- - !ruby/object:Gem::Dependency
99
- name: pry
100
- version_requirements: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '0'
105
- type: :development
106
- prerelease: false
107
- requirement: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
- - !ruby/object:Gem::Dependency
113
- name: rake
114
- version_requirements: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- type: :development
120
- prerelease: false
121
- requirement: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- - !ruby/object:Gem::Dependency
127
- name: rspec
128
- version_requirements: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- type: :development
134
- prerelease: false
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- - !ruby/object:Gem::Dependency
141
- name: guard-rspec
142
- version_requirements: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- type: :development
148
- prerelease: false
149
- requirement: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- - !ruby/object:Gem::Dependency
155
- name: rspec-retry
156
- version_requirements: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
161
- type: :development
162
- prerelease: false
163
- requirement: !ruby/object:Gem::Requirement
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- version: '0'
168
- - !ruby/object:Gem::Dependency
169
- name: coveralls
170
- version_requirements: !ruby/object:Gem::Requirement
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- version: '0'
175
- type: :development
176
- prerelease: false
177
- requirement: !ruby/object:Gem::Requirement
178
- requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: '0'
182
- - !ruby/object:Gem::Dependency
183
- name: celluloid-essentials
184
- version_requirements: !ruby/object:Gem::Requirement
185
- requirements:
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- version: '0'
189
- type: :runtime
190
- prerelease: false
191
- requirement: !ruby/object:Gem::Requirement
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- version: '0'
196
- - !ruby/object:Gem::Dependency
197
- name: celluloid-supervision
198
- version_requirements: !ruby/object:Gem::Requirement
199
- requirements:
200
- - - ">="
201
- - !ruby/object:Gem::Version
202
- version: '0'
203
- type: :runtime
204
- prerelease: false
205
- requirement: !ruby/object:Gem::Requirement
206
- requirements:
207
- - - ">="
208
- - !ruby/object:Gem::Version
209
- version: '0'
210
- - !ruby/object:Gem::Dependency
211
- name: celluloid-pool
212
- version_requirements: !ruby/object:Gem::Requirement
213
- requirements:
214
- - - ">="
215
- - !ruby/object:Gem::Version
216
- version: '0'
217
- type: :runtime
218
- prerelease: false
219
- requirement: !ruby/object:Gem::Requirement
220
- requirements:
221
- - - ">="
222
- - !ruby/object:Gem::Version
223
- version: '0'
224
- - !ruby/object:Gem::Dependency
225
- name: celluloid-fsm
226
- version_requirements: !ruby/object:Gem::Requirement
227
- requirements:
228
- - - ">="
229
- - !ruby/object:Gem::Version
230
- version: '0'
231
- type: :runtime
232
- prerelease: false
15
+ name: timers
233
16
  requirement: !ruby/object:Gem::Requirement
234
17
  requirements:
235
- - - ">="
18
+ - - "~>"
236
19
  - !ruby/object:Gem::Version
237
- version: '0'
238
- - !ruby/object:Gem::Dependency
239
- name: celluloid-extras
240
- version_requirements: !ruby/object:Gem::Requirement
241
- requirements:
242
- - - ">="
243
- - !ruby/object:Gem::Version
244
- version: '0'
20
+ version: '4'
245
21
  type: :runtime
246
22
  prerelease: false
247
- requirement: !ruby/object:Gem::Requirement
248
- requirements:
249
- - - ">="
250
- - !ruby/object:Gem::Version
251
- version: '0'
252
- - !ruby/object:Gem::Dependency
253
- name: timers
254
23
  version_requirements: !ruby/object:Gem::Requirement
255
24
  requirements:
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- version: 4.1.1
259
- type: :runtime
260
- prerelease: false
261
- requirement: !ruby/object:Gem::Requirement
262
- requirements:
263
- - - ">="
25
+ - - "~>"
264
26
  - !ruby/object:Gem::Version
265
- version: 4.1.1
27
+ version: '4'
266
28
  description: Celluloid enables people to build concurrent programs out of concurrent
267
29
  objects just as easily as they build sequential programs out of sequential objects
268
30
  email:
269
- - tony.arcieri@gmail.com
31
+ - bascule@gmail.com
270
32
  - code@extremist.digital
271
33
  executables: []
272
34
  extensions: []
273
35
  extra_rdoc_files: []
274
36
  files:
275
37
  - CHANGES.md
38
+ - CONDUCT.md
39
+ - CONTRIBUTING.md
276
40
  - LICENSE.txt
277
41
  - README.md
278
- - culture/CONDUCT.md
279
- - culture/Gemfile
280
- - culture/LICENSE.txt
281
- - culture/README.md
282
- - culture/Rakefile
283
- - culture/SYNC.md
284
- - culture/celluloid-culture.gemspec
285
- - culture/gems/README.md
286
- - culture/gems/dependencies.yml
287
- - culture/gems/loader.rb
288
- - culture/rubocop/README.md
289
- - culture/rubocop/lint.yml
290
- - culture/rubocop/metrics.yml
291
- - culture/rubocop/perf.yml
292
- - culture/rubocop/rubocop.yml
293
- - culture/rubocop/style.yml
294
- - culture/spec/gems_spec.rb
295
- - culture/spec/spec_helper.rb
296
- - culture/spec/sync_spec.rb
297
- - culture/sync.rb
298
- - culture/tasks/rspec.rake
299
- - culture/tasks/rubocop.rake
42
+ - REFACTOR.md
43
+ - architecture.md
300
44
  - examples/basic_usage.rb
45
+ - examples/configurations.rb
301
46
  - examples/futures.rb
302
47
  - examples/ring.rb
303
48
  - examples/simple_pmap.rb
304
49
  - examples/stack.rb
50
+ - examples/supervisors_and_registry.rb
305
51
  - examples/timers.rb
306
52
  - lib/celluloid.rb
307
53
  - lib/celluloid/actor.rb
308
- - lib/celluloid/actor/manager.rb
309
54
  - lib/celluloid/actor/system.rb
310
55
  - lib/celluloid/autostart.rb
311
- - lib/celluloid/backported.rb
312
56
  - lib/celluloid/call/async.rb
313
57
  - lib/celluloid/call/block.rb
314
58
  - lib/celluloid/call/sync.rb
@@ -316,20 +60,41 @@ files:
316
60
  - lib/celluloid/cell.rb
317
61
  - lib/celluloid/condition.rb
318
62
  - lib/celluloid/core_ext.rb
319
- - lib/celluloid/current.rb
320
63
  - lib/celluloid/debug.rb
321
- - lib/celluloid/deprecate.rb
322
64
  - lib/celluloid/exceptions.rb
323
- - lib/celluloid/fiber.rb
324
65
  - lib/celluloid/future.rb
325
66
  - lib/celluloid/group.rb
326
67
  - lib/celluloid/group/pool.rb
327
68
  - lib/celluloid/group/spawner.rb
69
+ - lib/celluloid/internals/call_chain.rb
70
+ - lib/celluloid/internals/cpu_counter.rb
71
+ - lib/celluloid/internals/handlers.rb
72
+ - lib/celluloid/internals/links.rb
73
+ - lib/celluloid/internals/logger.rb
74
+ - lib/celluloid/internals/method.rb
75
+ - lib/celluloid/internals/properties.rb
76
+ - lib/celluloid/internals/receivers.rb
77
+ - lib/celluloid/internals/registry.rb
78
+ - lib/celluloid/internals/responses.rb
79
+ - lib/celluloid/internals/signals.rb
80
+ - lib/celluloid/internals/stack.rb
81
+ - lib/celluloid/internals/stack/dump.rb
82
+ - lib/celluloid/internals/stack/states.rb
83
+ - lib/celluloid/internals/stack/summary.rb
84
+ - lib/celluloid/internals/task_set.rb
85
+ - lib/celluloid/internals/thread_handle.rb
86
+ - lib/celluloid/internals/uuid.rb
328
87
  - lib/celluloid/logging.rb
88
+ - lib/celluloid/logging/incident.rb
89
+ - lib/celluloid/logging/incident_logger.rb
90
+ - lib/celluloid/logging/incident_reporter.rb
91
+ - lib/celluloid/logging/log_event.rb
92
+ - lib/celluloid/logging/ring_buffer.rb
329
93
  - lib/celluloid/mailbox.rb
330
94
  - lib/celluloid/mailbox/evented.rb
331
- - lib/celluloid/managed.rb
332
- - lib/celluloid/notices.rb
95
+ - lib/celluloid/notifications.rb
96
+ - lib/celluloid/pool.rb
97
+ - lib/celluloid/probe.rb
333
98
  - lib/celluloid/proxies.rb
334
99
  - lib/celluloid/proxy/abstract.rb
335
100
  - lib/celluloid/proxy/actor.rb
@@ -339,6 +104,22 @@ files:
339
104
  - lib/celluloid/proxy/future.rb
340
105
  - lib/celluloid/proxy/sync.rb
341
106
  - lib/celluloid/rspec.rb
107
+ - lib/celluloid/supervision.rb
108
+ - lib/celluloid/supervision/configuration.rb
109
+ - lib/celluloid/supervision/configuration/injections.rb
110
+ - lib/celluloid/supervision/configuration/instance.rb
111
+ - lib/celluloid/supervision/constants.rb
112
+ - lib/celluloid/supervision/container.rb
113
+ - lib/celluloid/supervision/container/behavior.rb
114
+ - lib/celluloid/supervision/container/behavior/pool.rb
115
+ - lib/celluloid/supervision/container/behavior/tree.rb
116
+ - lib/celluloid/supervision/container/injections.rb
117
+ - lib/celluloid/supervision/container/instance.rb
118
+ - lib/celluloid/supervision/container/pool.rb
119
+ - lib/celluloid/supervision/service.rb
120
+ - lib/celluloid/supervision/supervise.rb
121
+ - lib/celluloid/supervision/validation.rb
122
+ - lib/celluloid/supervision/version.rb
342
123
  - lib/celluloid/system_events.rb
343
124
  - lib/celluloid/task.rb
344
125
  - lib/celluloid/task/fibered.rb
@@ -346,7 +127,6 @@ files:
346
127
  - lib/celluloid/test.rb
347
128
  - lib/celluloid/thread.rb
348
129
  - lib/celluloid/version.rb
349
- - spec/celluloid/actor/manager_spec.rb
350
130
  - spec/celluloid/actor/system_spec.rb
351
131
  - spec/celluloid/actor_spec.rb
352
132
  - spec/celluloid/block_spec.rb
@@ -357,31 +137,47 @@ files:
357
137
  - spec/celluloid/group/elastic_spec.rb
358
138
  - spec/celluloid/group/pool_spec.rb
359
139
  - spec/celluloid/group/spawner_spec.rb
140
+ - spec/celluloid/internals/cpu_counter_spec.rb
141
+ - spec/celluloid/internals/links_spec.rb
142
+ - spec/celluloid/internals/properties_spec.rb
143
+ - spec/celluloid/internals/registry_spec.rb
144
+ - spec/celluloid/internals/stack/dump_spec.rb
145
+ - spec/celluloid/internals/stack/summary_spec.rb
146
+ - spec/celluloid/internals/thread_handle_spec.rb
147
+ - spec/celluloid/internals/uuid_spec.rb
148
+ - spec/celluloid/logging/ring_buffer_spec.rb
360
149
  - spec/celluloid/mailbox/evented_spec.rb
361
150
  - spec/celluloid/mailbox_spec.rb
362
151
  - spec/celluloid/misc/leak_spec.rb
152
+ - spec/celluloid/notifications_spec.rb
153
+ - spec/celluloid/probe_spec.rb
154
+ - spec/celluloid/proxy_spec.rb
155
+ - spec/celluloid/supervision/behavior_spec.rb
156
+ - spec/celluloid/supervision/configuration_spec.rb
157
+ - spec/celluloid/supervision/container_spec.rb
158
+ - spec/celluloid/supervision/instance_spec.rb
159
+ - spec/celluloid/supervision/root_spec.rb
160
+ - spec/celluloid/supervision/supervisor_spec.rb
363
161
  - spec/celluloid/task/fibered_spec.rb
364
162
  - spec/celluloid/task/threaded_spec.rb
365
163
  - spec/celluloid/timer_spec.rb
366
- - spec/deprecate/actor_system_spec.rb
367
- - spec/deprecate/block_spec.rb
368
- - spec/deprecate/calls_spec.rb
369
- - spec/deprecate/evented_mailbox_spec.rb
370
- - spec/deprecate/future_spec.rb
371
- - spec/deprecate/internal_pool_spec.rb
372
164
  - spec/shared/actor_examples.rb
373
165
  - spec/shared/group_examples.rb
374
166
  - spec/shared/mailbox_examples.rb
167
+ - spec/shared/stack_examples.rb
375
168
  - spec/shared/task_examples.rb
376
169
  - spec/spec_helper.rb
377
170
  - spec/support/configure_rspec.rb
378
171
  - spec/support/coverage.rb
379
172
  - spec/support/crash_checking.rb
380
173
  - spec/support/debugging.rb
381
- - spec/support/env.rb
382
174
  - spec/support/examples/actor_class.rb
383
175
  - spec/support/examples/call_class.rb
176
+ - spec/support/examples/container_class.rb
384
177
  - spec/support/examples/evented_mailbox_class.rb
178
+ - spec/support/examples/stack_classes.rb
179
+ - spec/support/examples/stack_methods.rb
180
+ - spec/support/examples/subordinate_class.rb
385
181
  - spec/support/includer.rb
386
182
  - spec/support/logging.rb
387
183
  - spec/support/loose_threads.rb
@@ -391,8 +187,15 @@ files:
391
187
  homepage: https://github.com/celluloid/celluloid
392
188
  licenses:
393
189
  - MIT
394
- metadata: {}
395
- post_install_message:
190
+ metadata:
191
+ bug_tracker_uri: https://github.com/celluloid/celluloid/issues
192
+ changelog_uri: https://github.com/celluloid/celluloid/blob/master/CHANGES.md
193
+ documentation_uri: https://www.rubydoc.info/gems/celluloid
194
+ homepage_uri: https://celluloid.io/
195
+ mailing_list_uri: http://groups.google.com/group/celluloid-ruby
196
+ source_code_uri: https://github.com/celluloid/celluloid
197
+ wiki_uri: https://github.com/celluloid/celluloid/wiki
198
+ post_install_message:
396
199
  rdoc_options: []
397
200
  require_paths:
398
201
  - lib
@@ -400,16 +203,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
400
203
  requirements:
401
204
  - - ">="
402
205
  - !ruby/object:Gem::Version
403
- version: 1.9.3
206
+ version: 2.2.6
404
207
  required_rubygems_version: !ruby/object:Gem::Requirement
405
208
  requirements:
406
209
  - - ">="
407
210
  - !ruby/object:Gem::Version
408
- version: 1.3.6
211
+ version: 2.0.0
409
212
  requirements: []
410
- rubyforge_project:
411
- rubygems_version: 2.4.8
412
- signing_key:
213
+ rubygems_version: 3.1.2
214
+ signing_key:
413
215
  specification_version: 4
414
216
  summary: Actor-based concurrent object framework for Ruby
415
217
  test_files: []