farce 0.1.0-java → 0.2.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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +80 -1
  3. data/README.md +72 -16
  4. data/docs/gems/dry-types.md +8 -8
  5. data/docs/modes.md +67 -10
  6. data/lib/farce/_yard/macros.rb +18 -3
  7. data/lib/farce/abstract/flag.rb +73 -0
  8. data/lib/farce/abstract/queue.rb +4 -3
  9. data/lib/farce/abstract/scheduler.rb +3 -3
  10. data/lib/farce/abstract/set.rb +17 -5
  11. data/lib/farce/abstract/sorted_set.rb +2 -2
  12. data/lib/farce/abstract/timer_queue.rb +49 -10
  13. data/lib/farce/abstract/vector.rb +510 -28
  14. data/lib/farce/atom.rb +1 -1
  15. data/lib/farce/class_mirror.rb +20 -7
  16. data/lib/farce/config.rb +7 -1
  17. data/lib/farce/engine/jvm/flag.rb +15 -3
  18. data/lib/farce/engine/ruby/shared/require_hook.rb +18 -0
  19. data/lib/farce/engine/ruby.rb +7 -0
  20. data/lib/farce/engine/shared/unshared_vector.rb +31 -4
  21. data/lib/farce/engine/shared/vector.rb +8 -0
  22. data/lib/farce/engine/shared/weak_map/index.rb +14 -1
  23. data/lib/farce/engine/truffleruby/native/flag.rb +15 -3
  24. data/lib/farce/envelope.rb +54 -7
  25. data/lib/farce/exchanger.rb +1 -1
  26. data/lib/farce/flag.rb +2 -0
  27. data/lib/farce/integrations/active_support.rb +1 -1
  28. data/lib/farce/integrations/bson.rb +1 -1
  29. data/lib/farce/integrations/cbor.rb +1 -1
  30. data/lib/farce/integrations/concurrent.rb +3 -3
  31. data/lib/farce/integrations/date.rb +8 -0
  32. data/lib/farce/integrations/dry_types.rb +7 -4
  33. data/lib/farce/integrations/json.rb +2 -2
  34. data/lib/farce/integrations/msgpack.rb +1 -1
  35. data/lib/farce/integrations/oj.rb +3 -4
  36. data/lib/farce/integrations/psych.rb +1 -1
  37. data/lib/farce/integrations/ractor_sharing.rb +1 -1
  38. data/lib/farce/integrations/sorted_set.rb +1 -1
  39. data/lib/farce/integrations/weakref.rb +9 -1
  40. data/lib/farce/integrations/yajl.rb +3 -3
  41. data/lib/farce/integrations.rb +33 -23
  42. data/lib/farce/internal/flag_waiting.rb +30 -0
  43. data/lib/farce/internal/freeze.rb +8 -3
  44. data/lib/farce/internal/map_value_modes.rb +1 -1
  45. data/lib/farce/internal/scheduler_lifecycle.rb +1 -1
  46. data/lib/farce/lazy.rb +4 -4
  47. data/lib/farce/lazy_ref.rb +3 -3
  48. data/lib/farce/lfu_map.rb +1 -1
  49. data/lib/farce/local/flag.rb +4 -0
  50. data/lib/farce/local/scoped.rb +1 -1
  51. data/lib/farce/lru_map.rb +1 -1
  52. data/lib/farce/map.rb +2 -2
  53. data/lib/farce/mode_manager/smart_rule.rb +138 -0
  54. data/lib/farce/mode_manager.rb +12 -3
  55. data/lib/farce/molecule.rb +2 -2
  56. data/lib/farce/pool.rb +1 -1
  57. data/lib/farce/port.rb +4 -4
  58. data/lib/farce/priority_queue.rb +1 -1
  59. data/lib/farce/proxy/register.rb +6 -0
  60. data/lib/farce/proxy/supervisor.rb +1 -1
  61. data/lib/farce/proxy.rb +7 -2
  62. data/lib/farce/queue.rb +1 -1
  63. data/lib/farce/scheduler.rb +2 -2
  64. data/lib/farce/set.rb +1 -1
  65. data/lib/farce/sorted_set.rb +1 -1
  66. data/lib/farce/timer_queue.rb +20 -6
  67. data/lib/farce/transaction/vector.rb +43 -9
  68. data/lib/farce/transaction/wrapper.rb +14 -0
  69. data/lib/farce/tree_map.rb +1 -1
  70. data/lib/farce/unsafe/lfu_map.rb +2 -0
  71. data/lib/farce/unsafe/lru_map.rb +2 -0
  72. data/lib/farce/unsafe/tree_map.rb +2 -0
  73. data/lib/farce/unshareable.rb +8 -19
  74. data/lib/farce/unshared/atom.rb +3 -0
  75. data/lib/farce/unshared/lfu_map.rb +2 -0
  76. data/lib/farce/unshared/lru_map.rb +2 -0
  77. data/lib/farce/unshared/map.rb +3 -0
  78. data/lib/farce/unshared/set.rb +1 -0
  79. data/lib/farce/unshared/sorted_set.rb +1 -0
  80. data/lib/farce/unshared/tree_map.rb +5 -1
  81. data/lib/farce/unshared/vector.rb +3 -0
  82. data/lib/farce/unshared/weak_atom.rb +5 -1
  83. data/lib/farce/unshared/weak_key_map.rb +3 -0
  84. data/lib/farce/unshared/weak_map.rb +3 -0
  85. data/lib/farce/unshared/weak_set.rb +1 -0
  86. data/lib/farce/unshared/weak_value_map.rb +3 -0
  87. data/lib/farce/vector.rb +44 -19
  88. data/lib/farce/version.rb +1 -1
  89. data/lib/farce.rb +11 -8
  90. metadata +6 -2
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.1.0
4
+ version: 0.2.0
5
5
  platform: java
6
6
  authors:
7
7
  - Konstantin Haase
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-10-09 00:00:00.000000000 Z
10
+ date: 2026-10-11 00:00:00.000000000 Z
11
11
  dependencies: []
12
12
  email:
13
13
  - konstantin.mailinglists@googlemail.com
@@ -110,6 +110,7 @@ files:
110
110
  - lib/farce/engine/ruby/shared/proxy_owner.rb
111
111
  - lib/farce/engine/ruby/shared/ractor_methods.rb
112
112
  - lib/farce/engine/ruby/shared/ractor_selector.rb
113
+ - lib/farce/engine/ruby/shared/require_hook.rb
113
114
  - lib/farce/engine/ruby/shared/strict_map.rb
114
115
  - lib/farce/engine/ruby/shared/unshared_vector.rb
115
116
  - lib/farce/engine/ruby/shared/vault.rb
@@ -182,6 +183,7 @@ files:
182
183
  - lib/farce/integrations/bson.rb
183
184
  - lib/farce/integrations/cbor.rb
184
185
  - lib/farce/integrations/concurrent.rb
186
+ - lib/farce/integrations/date.rb
185
187
  - lib/farce/integrations/dry-types.rb
186
188
  - lib/farce/integrations/dry_types.rb
187
189
  - lib/farce/integrations/json.rb
@@ -205,6 +207,7 @@ files:
205
207
  - lib/farce/internal/delegation.rb
206
208
  - lib/farce/internal/external_transaction.rb
207
209
  - lib/farce/internal/fake_ractor.rb
210
+ - lib/farce/internal/flag_waiting.rb
208
211
  - lib/farce/internal/freeze.rb
209
212
  - lib/farce/internal/inspect.rb
210
213
  - lib/farce/internal/key_lock_map.rb
@@ -285,6 +288,7 @@ files:
285
288
  - lib/farce/lru_map.rb
286
289
  - lib/farce/map.rb
287
290
  - lib/farce/mode_manager.rb
291
+ - lib/farce/mode_manager/smart_rule.rb
288
292
  - lib/farce/molecule.rb
289
293
  - lib/farce/mutable.rb
290
294
  - lib/farce/pool.rb