farce 0.2.0-x86-linux-gnu → 0.4.0-x86-linux-gnu
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/CHANGELOG.md +91 -0
- data/README.md +117 -1451
- data/docs/compatibility.md +74 -0
- data/docs/concurrency.md +151 -0
- data/docs/data-structures.md +313 -0
- data/docs/installation.md +63 -0
- data/docs/integrations.md +124 -0
- data/docs/introduction.md +266 -0
- data/docs/modes.md +8 -5
- data/docs/scheduling.md +176 -0
- data/docs/scopes.md +3 -1
- data/docs/sharing.md +211 -0
- data/docs/shims.md +144 -0
- data/docs/utilities.md +93 -0
- data/docs/variants-and-scopes.md +92 -0
- data/docs/variants.md +18 -0
- data/lib/farce/abstract/executor.rb +130 -0
- data/lib/farce/abstract/flag.rb +6 -0
- data/lib/farce/abstract/pool.rb +334 -0
- data/lib/farce/abstract/scheduler.rb +539 -93
- data/lib/farce/backports.rb +274 -0
- data/lib/farce/engine/jruby/fiber_scheduler.rb +3 -0
- data/lib/farce/engine/jruby/scheduler_synchronization.rb +87 -0
- data/lib/farce/engine/jruby/signal.rb +7 -4
- data/lib/farce/engine/ruby/3.4/null_port.rb +21 -0
- data/lib/farce/engine/ruby/3.4/patch.rb +67 -0
- data/lib/farce/engine/ruby/3.4/port.rb +13 -12
- data/lib/farce/engine/ruby/3.4/ractor_methods.rb +0 -1
- data/lib/farce/engine/ruby/4.0/null_port.rb +36 -0
- data/lib/farce/engine/ruby/4.0/port.rb +1 -2
- data/lib/farce/engine/ruby/4.1/null_port.rb +5 -0
- data/lib/farce/engine/ruby.rb +7 -0
- data/lib/farce/engine/shared/main_scheduler.rb +2 -2
- data/lib/farce/engine/shared/null_port.rb +18 -0
- data/lib/farce/engine/shared/parallel_scheduler.rb +1 -1
- data/lib/farce/engine/shared/port.rb +41 -3
- data/lib/farce/engine/shared/proxy_owner.rb +1 -1
- data/lib/farce/engine/shared/queue.rb +4 -4
- data/lib/farce/engine/shared/ractor_methods.rb +2 -2
- data/lib/farce/engine/shared/ractor_selector.rb +73 -0
- data/lib/farce/engine/shared/unshared_atom.rb +9 -8
- data/lib/farce/engine/shared.rb +9 -0
- data/lib/farce/extension.rb +150 -0
- data/lib/farce/integrations/ractor_tmvar.rb +4 -1
- data/lib/farce/internal/fake_ractor.rb +10 -2
- data/lib/farce/internal/lease_initialization.rb +1 -1
- data/lib/farce/internal/local_executor_methods.rb +33 -0
- data/lib/farce/internal/local_scheduled_task.rb +27 -0
- data/lib/farce/internal/scheduled_task.rb +1 -1
- data/lib/farce/internal/scheduler_lifecycle.rb +7 -4
- data/lib/farce/internal/thread_pool_supervisor.rb +45 -0
- data/lib/farce/internal/unshared_pool_worker.rb +14 -0
- data/lib/farce/internal.rb +14 -0
- data/lib/farce/local/pool.rb +111 -0
- data/lib/farce/local/scheduler.rb +219 -0
- data/lib/farce/null_port.rb +12 -0
- data/lib/farce/pool.rb +2 -290
- data/lib/farce/proxy.rb +2 -2
- data/lib/farce/scheduler.rb +1 -502
- data/lib/farce/system.rb +10 -2
- data/lib/farce/task.rb +285 -0
- data/lib/farce/{thread_scheduler.rb → thread_executor.rb} +7 -7
- data/lib/farce/unshared/pool.rb +44 -0
- data/lib/farce/unshared/scheduler.rb +89 -0
- data/lib/farce/version.rb +1 -1
- data/lib/farce.rb +10 -18
- metadata +34 -2
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: farce
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: x86-linux-gnu
|
|
6
6
|
authors:
|
|
7
7
|
- Konstantin Haase
|
|
@@ -22,11 +22,22 @@ files:
|
|
|
22
22
|
- README.md
|
|
23
23
|
- SECURITY.md
|
|
24
24
|
- docs/benchmarks.md
|
|
25
|
+
- docs/compatibility.md
|
|
26
|
+
- docs/concurrency.md
|
|
27
|
+
- docs/data-structures.md
|
|
25
28
|
- docs/gems/dry-types.md
|
|
26
29
|
- docs/gems/msgpack.md
|
|
27
30
|
- docs/gems/ractor-shim.md
|
|
31
|
+
- docs/installation.md
|
|
32
|
+
- docs/integrations.md
|
|
33
|
+
- docs/introduction.md
|
|
28
34
|
- docs/modes.md
|
|
35
|
+
- docs/scheduling.md
|
|
29
36
|
- docs/scopes.md
|
|
37
|
+
- docs/sharing.md
|
|
38
|
+
- docs/shims.md
|
|
39
|
+
- docs/utilities.md
|
|
40
|
+
- docs/variants-and-scopes.md
|
|
30
41
|
- docs/variants.md
|
|
31
42
|
- ext/ext_helper.rb
|
|
32
43
|
- ext/farce/README.md
|
|
@@ -83,6 +94,7 @@ files:
|
|
|
83
94
|
- lib/farce/abstract/counter.rb
|
|
84
95
|
- lib/farce/abstract/duplicable_map.rb
|
|
85
96
|
- lib/farce/abstract/exchanger.rb
|
|
97
|
+
- lib/farce/abstract/executor.rb
|
|
86
98
|
- lib/farce/abstract/flag.rb
|
|
87
99
|
- lib/farce/abstract/lazy.rb
|
|
88
100
|
- lib/farce/abstract/lease.rb
|
|
@@ -92,6 +104,7 @@ files:
|
|
|
92
104
|
- lib/farce/abstract/lru_map.rb
|
|
93
105
|
- lib/farce/abstract/map.rb
|
|
94
106
|
- lib/farce/abstract/molecule.rb
|
|
107
|
+
- lib/farce/abstract/pool.rb
|
|
95
108
|
- lib/farce/abstract/port.rb
|
|
96
109
|
- lib/farce/abstract/priority_queue.rb
|
|
97
110
|
- lib/farce/abstract/queue.rb
|
|
@@ -108,6 +121,7 @@ files:
|
|
|
108
121
|
- lib/farce/abstract/weak_set.rb
|
|
109
122
|
- lib/farce/abstract/weak_value_map.rb
|
|
110
123
|
- lib/farce/atom.rb
|
|
124
|
+
- lib/farce/backports.rb
|
|
111
125
|
- lib/farce/class_mirror.rb
|
|
112
126
|
- lib/farce/clock.rb
|
|
113
127
|
- lib/farce/config.rb
|
|
@@ -120,6 +134,7 @@ files:
|
|
|
120
134
|
- lib/farce/engine/jruby/lease_waiting.rb
|
|
121
135
|
- lib/farce/engine/jruby/map.rb
|
|
122
136
|
- lib/farce/engine/jruby/mutable_numeric_copy.rb
|
|
137
|
+
- lib/farce/engine/jruby/scheduler_synchronization.rb
|
|
123
138
|
- lib/farce/engine/jruby/signal.rb
|
|
124
139
|
- lib/farce/engine/jvm.rb
|
|
125
140
|
- lib/farce/engine/jvm/concurrent_weak_registry.rb
|
|
@@ -133,17 +148,21 @@ files:
|
|
|
133
148
|
- lib/farce/engine/ruby.rb
|
|
134
149
|
- lib/farce/engine/ruby/3.4/farce.so
|
|
135
150
|
- lib/farce/engine/ruby/3.4/fiber_scheduler.rb
|
|
151
|
+
- lib/farce/engine/ruby/3.4/null_port.rb
|
|
152
|
+
- lib/farce/engine/ruby/3.4/patch.rb
|
|
136
153
|
- lib/farce/engine/ruby/3.4/port.rb
|
|
137
154
|
- lib/farce/engine/ruby/3.4/ractor_methods.rb
|
|
138
155
|
- lib/farce/engine/ruby/3.4/ractor_selector.rb
|
|
139
156
|
- lib/farce/engine/ruby/3.4/rebind.so
|
|
140
157
|
- lib/farce/engine/ruby/3.4/vault.rb
|
|
141
158
|
- lib/farce/engine/ruby/4.0/farce.so
|
|
159
|
+
- lib/farce/engine/ruby/4.0/null_port.rb
|
|
142
160
|
- lib/farce/engine/ruby/4.0/port.rb
|
|
143
161
|
- lib/farce/engine/ruby/4.0/ractor_methods.rb
|
|
144
162
|
- lib/farce/engine/ruby/4.0/ractor_selector.rb
|
|
145
163
|
- lib/farce/engine/ruby/4.0/rebind.so
|
|
146
164
|
- lib/farce/engine/ruby/4.0/vault.rb
|
|
165
|
+
- lib/farce/engine/ruby/4.1/null_port.rb
|
|
147
166
|
- lib/farce/engine/ruby/4.1/port.rb
|
|
148
167
|
- lib/farce/engine/ruby/4.1/ractor_methods.rb
|
|
149
168
|
- lib/farce/engine/ruby/4.1/ractor_selector.rb
|
|
@@ -172,12 +191,14 @@ files:
|
|
|
172
191
|
- lib/farce/engine/shared/lease_pool.rb
|
|
173
192
|
- lib/farce/engine/shared/main_scheduler.rb
|
|
174
193
|
- lib/farce/engine/shared/map_key_coordination.rb
|
|
194
|
+
- lib/farce/engine/shared/null_port.rb
|
|
175
195
|
- lib/farce/engine/shared/parallel_scheduler.rb
|
|
176
196
|
- lib/farce/engine/shared/port.rb
|
|
177
197
|
- lib/farce/engine/shared/portable_bounded_map.rb
|
|
178
198
|
- lib/farce/engine/shared/proxy_owner.rb
|
|
179
199
|
- lib/farce/engine/shared/queue.rb
|
|
180
200
|
- lib/farce/engine/shared/ractor_methods.rb
|
|
201
|
+
- lib/farce/engine/shared/ractor_selector.rb
|
|
181
202
|
- lib/farce/engine/shared/rebindable.rb
|
|
182
203
|
- lib/farce/engine/shared/strict_atom.rb
|
|
183
204
|
- lib/farce/engine/shared/strict_map.rb
|
|
@@ -216,6 +237,7 @@ files:
|
|
|
216
237
|
- lib/farce/envelope.rb
|
|
217
238
|
- lib/farce/error.rb
|
|
218
239
|
- lib/farce/exchanger.rb
|
|
240
|
+
- lib/farce/extension.rb
|
|
219
241
|
- lib/farce/flag.rb
|
|
220
242
|
- lib/farce/integrations.rb
|
|
221
243
|
- lib/farce/integrations/active_support.rb
|
|
@@ -264,6 +286,8 @@ files:
|
|
|
264
286
|
- lib/farce/internal/lease_pool_state.rb
|
|
265
287
|
- lib/farce/internal/lease_state.rb
|
|
266
288
|
- lib/farce/internal/lease_waiting.rb
|
|
289
|
+
- lib/farce/internal/local_executor_methods.rb
|
|
290
|
+
- lib/farce/internal/local_scheduled_task.rb
|
|
267
291
|
- lib/farce/internal/managed_queue.rb
|
|
268
292
|
- lib/farce/internal/map_value_modes.rb
|
|
269
293
|
- lib/farce/internal/marshal_support.rb
|
|
@@ -289,12 +313,14 @@ files:
|
|
|
289
313
|
- lib/farce/internal/strict_lease_map.rb
|
|
290
314
|
- lib/farce/internal/strict_lease_pool.rb
|
|
291
315
|
- lib/farce/internal/thread_pool.rb
|
|
316
|
+
- lib/farce/internal/thread_pool_supervisor.rb
|
|
292
317
|
- lib/farce/internal/transaction_conflict.rb
|
|
293
318
|
- lib/farce/internal/transaction_freeze_guard.rb
|
|
294
319
|
- lib/farce/internal/transaction_map_snapshot.rb
|
|
295
320
|
- lib/farce/internal/undefined.rb
|
|
296
321
|
- lib/farce/internal/unshared_lease.rb
|
|
297
322
|
- lib/farce/internal/unshared_lease_pool.rb
|
|
323
|
+
- lib/farce/internal/unshared_pool_worker.rb
|
|
298
324
|
- lib/farce/internal/unshared_queue_waiting.rb
|
|
299
325
|
- lib/farce/internal/value_serialization.rb
|
|
300
326
|
- lib/farce/internal/weak_map_value_modes.rb
|
|
@@ -318,8 +344,10 @@ files:
|
|
|
318
344
|
- lib/farce/local/lru_map.rb
|
|
319
345
|
- lib/farce/local/map.rb
|
|
320
346
|
- lib/farce/local/molecule.rb
|
|
347
|
+
- lib/farce/local/pool.rb
|
|
321
348
|
- lib/farce/local/priority_queue.rb
|
|
322
349
|
- lib/farce/local/queue.rb
|
|
350
|
+
- lib/farce/local/scheduler.rb
|
|
323
351
|
- lib/farce/local/scoped.rb
|
|
324
352
|
- lib/farce/local/set.rb
|
|
325
353
|
- lib/farce/local/sorted_set.rb
|
|
@@ -338,6 +366,7 @@ files:
|
|
|
338
366
|
- lib/farce/mode_manager/smart_rule.rb
|
|
339
367
|
- lib/farce/molecule.rb
|
|
340
368
|
- lib/farce/mutable.rb
|
|
369
|
+
- lib/farce/null_port.rb
|
|
341
370
|
- lib/farce/pool.rb
|
|
342
371
|
- lib/farce/port.rb
|
|
343
372
|
- lib/farce/priority_queue.rb
|
|
@@ -384,7 +413,8 @@ files:
|
|
|
384
413
|
- lib/farce/strict/weak_set.rb
|
|
385
414
|
- lib/farce/strict/weak_value_map.rb
|
|
386
415
|
- lib/farce/system.rb
|
|
387
|
-
- lib/farce/
|
|
416
|
+
- lib/farce/task.rb
|
|
417
|
+
- lib/farce/thread_executor.rb
|
|
388
418
|
- lib/farce/timer_queue.rb
|
|
389
419
|
- lib/farce/transaction.rb
|
|
390
420
|
- lib/farce/transaction/atom.rb
|
|
@@ -417,8 +447,10 @@ files:
|
|
|
417
447
|
- lib/farce/unshared/lru_map.rb
|
|
418
448
|
- lib/farce/unshared/map.rb
|
|
419
449
|
- lib/farce/unshared/molecule.rb
|
|
450
|
+
- lib/farce/unshared/pool.rb
|
|
420
451
|
- lib/farce/unshared/priority_queue.rb
|
|
421
452
|
- lib/farce/unshared/queue.rb
|
|
453
|
+
- lib/farce/unshared/scheduler.rb
|
|
422
454
|
- lib/farce/unshared/set.rb
|
|
423
455
|
- lib/farce/unshared/sorted_set.rb
|
|
424
456
|
- lib/farce/unshared/timer_queue.rb
|