farce 0.2.0-java → 0.4.0-java
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 +35 -3
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
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: java
|
|
6
6
|
authors:
|
|
7
7
|
- Konstantin Haase
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 2026-10-
|
|
10
|
+
date: 2026-10-16 00:00:00.000000000 Z
|
|
11
11
|
dependencies: []
|
|
12
12
|
email:
|
|
13
13
|
- konstantin.mailinglists@googlemail.com
|
|
@@ -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
|
- lib/farce.rb
|
|
32
43
|
- lib/farce/_yard/internal.rb
|
|
@@ -40,6 +51,7 @@ files:
|
|
|
40
51
|
- lib/farce/abstract/counter.rb
|
|
41
52
|
- lib/farce/abstract/duplicable_map.rb
|
|
42
53
|
- lib/farce/abstract/exchanger.rb
|
|
54
|
+
- lib/farce/abstract/executor.rb
|
|
43
55
|
- lib/farce/abstract/flag.rb
|
|
44
56
|
- lib/farce/abstract/lazy.rb
|
|
45
57
|
- lib/farce/abstract/lease.rb
|
|
@@ -49,6 +61,7 @@ files:
|
|
|
49
61
|
- lib/farce/abstract/lru_map.rb
|
|
50
62
|
- lib/farce/abstract/map.rb
|
|
51
63
|
- lib/farce/abstract/molecule.rb
|
|
64
|
+
- lib/farce/abstract/pool.rb
|
|
52
65
|
- lib/farce/abstract/port.rb
|
|
53
66
|
- lib/farce/abstract/priority_queue.rb
|
|
54
67
|
- lib/farce/abstract/queue.rb
|
|
@@ -65,6 +78,7 @@ files:
|
|
|
65
78
|
- lib/farce/abstract/weak_set.rb
|
|
66
79
|
- lib/farce/abstract/weak_value_map.rb
|
|
67
80
|
- lib/farce/atom.rb
|
|
81
|
+
- lib/farce/backports.rb
|
|
68
82
|
- lib/farce/class_mirror.rb
|
|
69
83
|
- lib/farce/clock.rb
|
|
70
84
|
- lib/farce/config.rb
|
|
@@ -77,6 +91,7 @@ files:
|
|
|
77
91
|
- lib/farce/engine/jruby/lease_waiting.rb
|
|
78
92
|
- lib/farce/engine/jruby/map.rb
|
|
79
93
|
- lib/farce/engine/jruby/mutable_numeric_copy.rb
|
|
94
|
+
- lib/farce/engine/jruby/scheduler_synchronization.rb
|
|
80
95
|
- lib/farce/engine/jruby/signal.rb
|
|
81
96
|
- lib/farce/engine/jvm.rb
|
|
82
97
|
- lib/farce/engine/jvm/concurrent_weak_registry.rb
|
|
@@ -89,14 +104,18 @@ files:
|
|
|
89
104
|
- lib/farce/engine/jvm/types.rb
|
|
90
105
|
- lib/farce/engine/ruby.rb
|
|
91
106
|
- lib/farce/engine/ruby/3.4/fiber_scheduler.rb
|
|
107
|
+
- lib/farce/engine/ruby/3.4/null_port.rb
|
|
108
|
+
- lib/farce/engine/ruby/3.4/patch.rb
|
|
92
109
|
- lib/farce/engine/ruby/3.4/port.rb
|
|
93
110
|
- lib/farce/engine/ruby/3.4/ractor_methods.rb
|
|
94
111
|
- lib/farce/engine/ruby/3.4/ractor_selector.rb
|
|
95
112
|
- lib/farce/engine/ruby/3.4/vault.rb
|
|
113
|
+
- lib/farce/engine/ruby/4.0/null_port.rb
|
|
96
114
|
- lib/farce/engine/ruby/4.0/port.rb
|
|
97
115
|
- lib/farce/engine/ruby/4.0/ractor_methods.rb
|
|
98
116
|
- lib/farce/engine/ruby/4.0/ractor_selector.rb
|
|
99
117
|
- lib/farce/engine/ruby/4.0/vault.rb
|
|
118
|
+
- lib/farce/engine/ruby/4.1/null_port.rb
|
|
100
119
|
- lib/farce/engine/ruby/4.1/port.rb
|
|
101
120
|
- lib/farce/engine/ruby/4.1/ractor_methods.rb
|
|
102
121
|
- lib/farce/engine/ruby/4.1/ractor_selector.rb
|
|
@@ -125,12 +144,14 @@ files:
|
|
|
125
144
|
- lib/farce/engine/shared/lease_pool.rb
|
|
126
145
|
- lib/farce/engine/shared/main_scheduler.rb
|
|
127
146
|
- lib/farce/engine/shared/map_key_coordination.rb
|
|
147
|
+
- lib/farce/engine/shared/null_port.rb
|
|
128
148
|
- lib/farce/engine/shared/parallel_scheduler.rb
|
|
129
149
|
- lib/farce/engine/shared/port.rb
|
|
130
150
|
- lib/farce/engine/shared/portable_bounded_map.rb
|
|
131
151
|
- lib/farce/engine/shared/proxy_owner.rb
|
|
132
152
|
- lib/farce/engine/shared/queue.rb
|
|
133
153
|
- lib/farce/engine/shared/ractor_methods.rb
|
|
154
|
+
- lib/farce/engine/shared/ractor_selector.rb
|
|
134
155
|
- lib/farce/engine/shared/rebindable.rb
|
|
135
156
|
- lib/farce/engine/shared/strict_atom.rb
|
|
136
157
|
- lib/farce/engine/shared/strict_map.rb
|
|
@@ -169,6 +190,7 @@ files:
|
|
|
169
190
|
- lib/farce/envelope.rb
|
|
170
191
|
- lib/farce/error.rb
|
|
171
192
|
- lib/farce/exchanger.rb
|
|
193
|
+
- lib/farce/extension.rb
|
|
172
194
|
- lib/farce/flag.rb
|
|
173
195
|
- lib/farce/integrations.rb
|
|
174
196
|
- lib/farce/integrations/active_support.rb
|
|
@@ -217,6 +239,8 @@ files:
|
|
|
217
239
|
- lib/farce/internal/lease_pool_state.rb
|
|
218
240
|
- lib/farce/internal/lease_state.rb
|
|
219
241
|
- lib/farce/internal/lease_waiting.rb
|
|
242
|
+
- lib/farce/internal/local_executor_methods.rb
|
|
243
|
+
- lib/farce/internal/local_scheduled_task.rb
|
|
220
244
|
- lib/farce/internal/managed_queue.rb
|
|
221
245
|
- lib/farce/internal/map_value_modes.rb
|
|
222
246
|
- lib/farce/internal/marshal_support.rb
|
|
@@ -242,12 +266,14 @@ files:
|
|
|
242
266
|
- lib/farce/internal/strict_lease_map.rb
|
|
243
267
|
- lib/farce/internal/strict_lease_pool.rb
|
|
244
268
|
- lib/farce/internal/thread_pool.rb
|
|
269
|
+
- lib/farce/internal/thread_pool_supervisor.rb
|
|
245
270
|
- lib/farce/internal/transaction_conflict.rb
|
|
246
271
|
- lib/farce/internal/transaction_freeze_guard.rb
|
|
247
272
|
- lib/farce/internal/transaction_map_snapshot.rb
|
|
248
273
|
- lib/farce/internal/undefined.rb
|
|
249
274
|
- lib/farce/internal/unshared_lease.rb
|
|
250
275
|
- lib/farce/internal/unshared_lease_pool.rb
|
|
276
|
+
- lib/farce/internal/unshared_pool_worker.rb
|
|
251
277
|
- lib/farce/internal/unshared_queue_waiting.rb
|
|
252
278
|
- lib/farce/internal/value_serialization.rb
|
|
253
279
|
- lib/farce/internal/weak_map_value_modes.rb
|
|
@@ -271,8 +297,10 @@ files:
|
|
|
271
297
|
- lib/farce/local/lru_map.rb
|
|
272
298
|
- lib/farce/local/map.rb
|
|
273
299
|
- lib/farce/local/molecule.rb
|
|
300
|
+
- lib/farce/local/pool.rb
|
|
274
301
|
- lib/farce/local/priority_queue.rb
|
|
275
302
|
- lib/farce/local/queue.rb
|
|
303
|
+
- lib/farce/local/scheduler.rb
|
|
276
304
|
- lib/farce/local/scoped.rb
|
|
277
305
|
- lib/farce/local/set.rb
|
|
278
306
|
- lib/farce/local/sorted_set.rb
|
|
@@ -291,6 +319,7 @@ files:
|
|
|
291
319
|
- lib/farce/mode_manager/smart_rule.rb
|
|
292
320
|
- lib/farce/molecule.rb
|
|
293
321
|
- lib/farce/mutable.rb
|
|
322
|
+
- lib/farce/null_port.rb
|
|
294
323
|
- lib/farce/pool.rb
|
|
295
324
|
- lib/farce/port.rb
|
|
296
325
|
- lib/farce/priority_queue.rb
|
|
@@ -337,7 +366,8 @@ files:
|
|
|
337
366
|
- lib/farce/strict/weak_set.rb
|
|
338
367
|
- lib/farce/strict/weak_value_map.rb
|
|
339
368
|
- lib/farce/system.rb
|
|
340
|
-
- lib/farce/
|
|
369
|
+
- lib/farce/task.rb
|
|
370
|
+
- lib/farce/thread_executor.rb
|
|
341
371
|
- lib/farce/timer_queue.rb
|
|
342
372
|
- lib/farce/transaction.rb
|
|
343
373
|
- lib/farce/transaction/atom.rb
|
|
@@ -370,8 +400,10 @@ files:
|
|
|
370
400
|
- lib/farce/unshared/lru_map.rb
|
|
371
401
|
- lib/farce/unshared/map.rb
|
|
372
402
|
- lib/farce/unshared/molecule.rb
|
|
403
|
+
- lib/farce/unshared/pool.rb
|
|
373
404
|
- lib/farce/unshared/priority_queue.rb
|
|
374
405
|
- lib/farce/unshared/queue.rb
|
|
406
|
+
- lib/farce/unshared/scheduler.rb
|
|
375
407
|
- lib/farce/unshared/set.rb
|
|
376
408
|
- lib/farce/unshared/sorted_set.rb
|
|
377
409
|
- lib/farce/unshared/timer_queue.rb
|