alchemrest 3.1.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 (245) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +22 -0
  4. data/.rubocop_todo.yml +242 -0
  5. data/.ruby-version +1 -0
  6. data/Appraisals +19 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +378 -0
  9. data/Rakefile +29 -0
  10. data/alchemrest.gemspec +71 -0
  11. data/coach.yml +5 -0
  12. data/examples/bank_api/client.rb +31 -0
  13. data/examples/bank_api/data/account.rb +21 -0
  14. data/examples/bank_api/data/ach.rb +16 -0
  15. data/examples/bank_api/data/business_account.rb +22 -0
  16. data/examples/bank_api/data/card.rb +21 -0
  17. data/examples/bank_api/data/check.rb +19 -0
  18. data/examples/bank_api/data/product.rb +20 -0
  19. data/examples/bank_api/data/transaction.rb +49 -0
  20. data/examples/bank_api/data/user.rb +27 -0
  21. data/examples/bank_api/factories.rb +68 -0
  22. data/examples/bank_api/graph_visualization.rb +45 -0
  23. data/examples/bank_api/positive_interest_string.rb +33 -0
  24. data/examples/bank_api/requests/delete_user.rb +17 -0
  25. data/examples/bank_api/requests/get_business_account.rb +24 -0
  26. data/examples/bank_api/requests/get_products.rb +12 -0
  27. data/examples/bank_api/requests/get_transactions.rb +34 -0
  28. data/examples/bank_api/requests/get_user.rb +19 -0
  29. data/examples/bank_api/requests/post_transaction.rb +20 -0
  30. data/examples/bank_api/requests/update_user.rb +28 -0
  31. data/examples/bank_api/root.rb +52 -0
  32. data/examples/bank_api.rb +33 -0
  33. data/gemfiles/faraday_2.gemfile +9 -0
  34. data/gemfiles/faraday_2.gemfile.lock +363 -0
  35. data/gemfiles/rails_7_0.gemfile.lock +341 -0
  36. data/gemfiles/rails_7_2.gemfile +9 -0
  37. data/gemfiles/rails_7_2.gemfile.lock +384 -0
  38. data/gemfiles/rails_8_0.gemfile +9 -0
  39. data/gemfiles/rails_8_0.gemfile.lock +385 -0
  40. data/lib/alchemrest/circuit_breaker.rb +84 -0
  41. data/lib/alchemrest/client/configuration/connection.rb +83 -0
  42. data/lib/alchemrest/client/configuration.rb +89 -0
  43. data/lib/alchemrest/client.rb +48 -0
  44. data/lib/alchemrest/cop.rb +8 -0
  45. data/lib/alchemrest/data/capture_configuration.rb +77 -0
  46. data/lib/alchemrest/data/field.rb +36 -0
  47. data/lib/alchemrest/data/graph.rb +40 -0
  48. data/lib/alchemrest/data/record.rb +60 -0
  49. data/lib/alchemrest/data/schema.rb +80 -0
  50. data/lib/alchemrest/data.rb +9 -0
  51. data/lib/alchemrest/endpoint_definition.rb +47 -0
  52. data/lib/alchemrest/error.rb +122 -0
  53. data/lib/alchemrest/factory_bot.rb +64 -0
  54. data/lib/alchemrest/faraday_middleware/external_api_instrumentation.rb +24 -0
  55. data/lib/alchemrest/faraday_middleware/json_parser.rb +30 -0
  56. data/lib/alchemrest/faraday_middleware/kill_switch.rb +22 -0
  57. data/lib/alchemrest/faraday_middleware/underscore_response.rb +24 -0
  58. data/lib/alchemrest/hash_path.rb +81 -0
  59. data/lib/alchemrest/http_request.rb +75 -0
  60. data/lib/alchemrest/kill_switch/adapters.rb +88 -0
  61. data/lib/alchemrest/kill_switch.rb +31 -0
  62. data/lib/alchemrest/railtie.rb +25 -0
  63. data/lib/alchemrest/request/endpoint.rb +29 -0
  64. data/lib/alchemrest/request/returns.rb +46 -0
  65. data/lib/alchemrest/request.rb +80 -0
  66. data/lib/alchemrest/request_definition/builder.rb +13 -0
  67. data/lib/alchemrest/request_definition.rb +26 -0
  68. data/lib/alchemrest/response/pipeline/extract_payload.rb +64 -0
  69. data/lib/alchemrest/response/pipeline/final.rb +11 -0
  70. data/lib/alchemrest/response/pipeline/omit.rb +46 -0
  71. data/lib/alchemrest/response/pipeline/sanitize.rb +59 -0
  72. data/lib/alchemrest/response/pipeline/transform.rb +26 -0
  73. data/lib/alchemrest/response/pipeline/was_successful.rb +29 -0
  74. data/lib/alchemrest/response/pipeline.rb +71 -0
  75. data/lib/alchemrest/response.rb +73 -0
  76. data/lib/alchemrest/response_captured_handler.rb +68 -0
  77. data/lib/alchemrest/result/halt.rb +15 -0
  78. data/lib/alchemrest/result/try_helpers.rb +16 -0
  79. data/lib/alchemrest/result.rb +128 -0
  80. data/lib/alchemrest/root.rb +77 -0
  81. data/lib/alchemrest/transforms/base_to_type_transform_registry.rb +42 -0
  82. data/lib/alchemrest/transforms/constrainable.rb +41 -0
  83. data/lib/alchemrest/transforms/constraint/block.rb +22 -0
  84. data/lib/alchemrest/transforms/constraint/greater_than.rb +19 -0
  85. data/lib/alchemrest/transforms/constraint/greater_than_or_eq.rb +19 -0
  86. data/lib/alchemrest/transforms/constraint/in_list.rb +19 -0
  87. data/lib/alchemrest/transforms/constraint/is_instance_of.rb +19 -0
  88. data/lib/alchemrest/transforms/constraint/is_uuid.rb +19 -0
  89. data/lib/alchemrest/transforms/constraint/less_than.rb +19 -0
  90. data/lib/alchemrest/transforms/constraint/less_than_or_eq.rb +19 -0
  91. data/lib/alchemrest/transforms/constraint/matches_regex.rb +19 -0
  92. data/lib/alchemrest/transforms/constraint/max_length.rb +19 -0
  93. data/lib/alchemrest/transforms/constraint/min_length.rb +19 -0
  94. data/lib/alchemrest/transforms/constraint.rb +17 -0
  95. data/lib/alchemrest/transforms/constraint_builder/for_number.rb +25 -0
  96. data/lib/alchemrest/transforms/constraint_builder/for_string.rb +21 -0
  97. data/lib/alchemrest/transforms/constraint_builder.rb +15 -0
  98. data/lib/alchemrest/transforms/date_transform.rb +30 -0
  99. data/lib/alchemrest/transforms/enum.rb +52 -0
  100. data/lib/alchemrest/transforms/epoch_time.rb +32 -0
  101. data/lib/alchemrest/transforms/from_chain.rb +15 -0
  102. data/lib/alchemrest/transforms/from_number/to_type_transform_registry.rb +18 -0
  103. data/lib/alchemrest/transforms/from_number.rb +47 -0
  104. data/lib/alchemrest/transforms/from_string/to_type_transform_registry.rb +17 -0
  105. data/lib/alchemrest/transforms/from_string.rb +36 -0
  106. data/lib/alchemrest/transforms/from_type/empty_to_type_transform_registry.rb +14 -0
  107. data/lib/alchemrest/transforms/from_type.rb +64 -0
  108. data/lib/alchemrest/transforms/iso_time.rb +58 -0
  109. data/lib/alchemrest/transforms/json_number.rb +26 -0
  110. data/lib/alchemrest/transforms/loose_hash.rb +96 -0
  111. data/lib/alchemrest/transforms/money_transform.rb +42 -0
  112. data/lib/alchemrest/transforms/number.rb +27 -0
  113. data/lib/alchemrest/transforms/output_type.rb +65 -0
  114. data/lib/alchemrest/transforms/to_decimal.rb +22 -0
  115. data/lib/alchemrest/transforms/to_type/from_string_to_time_selector.rb +29 -0
  116. data/lib/alchemrest/transforms/to_type/transforms_selector.rb +61 -0
  117. data/lib/alchemrest/transforms/to_type.rb +86 -0
  118. data/lib/alchemrest/transforms/typed.rb +32 -0
  119. data/lib/alchemrest/transforms/union.rb +44 -0
  120. data/lib/alchemrest/transforms/with_constraint.rb +26 -0
  121. data/lib/alchemrest/transforms.rb +93 -0
  122. data/lib/alchemrest/url_builder/encoders.rb +39 -0
  123. data/lib/alchemrest/url_builder/options.rb +33 -0
  124. data/lib/alchemrest/url_builder.rb +31 -0
  125. data/lib/alchemrest/version.rb +5 -0
  126. data/lib/alchemrest/webmock_helpers.rb +27 -0
  127. data/lib/alchemrest.rb +159 -0
  128. data/lib/generators/alchemrest/kill_switch_migration_generator.rb +27 -0
  129. data/lib/generators/alchemrest/templates/kill_switch_migration.rb.erb +17 -0
  130. data/lib/rubocop/cop/alchemrest/define_request_using_with_params.rb +53 -0
  131. data/lib/rubocop/cop/alchemrest/endpoint_definition_using_generic_params.rb +55 -0
  132. data/lib/rubocop/cop/alchemrest/request_hash_returning_block.rb +54 -0
  133. data/lib/rubocop/cop/alchemrest/time_transform_with_no_zone.rb +56 -0
  134. data/lib/tapioca/dsl/compilers/alchemrest_data.rb +84 -0
  135. data/lib/tapioca/dsl/compilers/alchemrest_root.rb +68 -0
  136. data/mutant.yml +16 -0
  137. data/rbi/alchemrest/result.rbi +80 -0
  138. data/rbi/alchemrest.rbi +246 -0
  139. data/sorbet/config +5 -0
  140. data/sorbet/rbi/gems/.gitattributes +1 -0
  141. data/sorbet/rbi/gems/abstract_type@0.0.7.rbi +41 -0
  142. data/sorbet/rbi/gems/actionpack@8.0.4.rbi +11733 -0
  143. data/sorbet/rbi/gems/actionview@8.0.4.rbi +6560 -0
  144. data/sorbet/rbi/gems/activemodel@8.0.4.rbi +2891 -0
  145. data/sorbet/rbi/gems/activesupport@8.0.4.rbi +9621 -0
  146. data/sorbet/rbi/gems/adamantium@0.2.0.rbi +144 -0
  147. data/sorbet/rbi/gems/addressable@2.8.7.rbi +779 -0
  148. data/sorbet/rbi/gems/anima@0.3.2.rbi +103 -0
  149. data/sorbet/rbi/gems/ast@2.4.2.rbi +107 -0
  150. data/sorbet/rbi/gems/base64@0.3.0.rbi +52 -0
  151. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +153 -0
  152. data/sorbet/rbi/gems/bigdecimal@3.3.1.rbi +77 -0
  153. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  154. data/sorbet/rbi/gems/circuitbox@2.0.0.rbi +297 -0
  155. data/sorbet/rbi/gems/concord@0.1.6.rbi +51 -0
  156. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +4716 -0
  157. data/sorbet/rbi/gems/connection_pool@2.5.4.rbi +9 -0
  158. data/sorbet/rbi/gems/crack@1.0.0.rbi +110 -0
  159. data/sorbet/rbi/gems/crass@1.0.6.rbi +294 -0
  160. data/sorbet/rbi/gems/date@3.4.1.rbi +58 -0
  161. data/sorbet/rbi/gems/drb@2.2.3.rbi +639 -0
  162. data/sorbet/rbi/gems/equalizer@0.0.11.rbi +38 -0
  163. data/sorbet/rbi/gems/erubi@1.13.1.rbi +85 -0
  164. data/sorbet/rbi/gems/factory_bot@6.5.0.rbi +1529 -0
  165. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +181 -0
  166. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.1.rbi +120 -0
  167. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +128 -0
  168. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +123 -0
  169. data/sorbet/rbi/gems/faraday-multipart@1.2.0.rbi +190 -0
  170. data/sorbet/rbi/gems/faraday-net_http@1.0.2.rbi +140 -0
  171. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +116 -0
  172. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +119 -0
  173. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +113 -0
  174. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +149 -0
  175. data/sorbet/rbi/gems/faraday@1.10.5.rbi +1620 -0
  176. data/sorbet/rbi/gems/hansi@0.2.1.rbi +9 -0
  177. data/sorbet/rbi/gems/hashdiff@1.1.2.rbi +174 -0
  178. data/sorbet/rbi/gems/i18n@1.14.7.rbi +1328 -0
  179. data/sorbet/rbi/gems/ice_nine@0.11.2.rbi +145 -0
  180. data/sorbet/rbi/gems/io-console@0.8.0.rbi +9 -0
  181. data/sorbet/rbi/gems/json@2.9.1.rbi +282 -0
  182. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +8057 -0
  183. data/sorbet/rbi/gems/logger@1.7.0.rbi +260 -0
  184. data/sorbet/rbi/gems/loofah@2.24.0.rbi +571 -0
  185. data/sorbet/rbi/gems/memoizable@0.4.2.rbi +131 -0
  186. data/sorbet/rbi/gems/memosa@0.8.2.rbi +185 -0
  187. data/sorbet/rbi/gems/minitest@5.26.0.rbi +824 -0
  188. data/sorbet/rbi/gems/money@6.19.0.rbi +815 -0
  189. data/sorbet/rbi/gems/morpher@0.4.2.rbi +388 -0
  190. data/sorbet/rbi/gems/mprelude@0.1.0.rbi +140 -0
  191. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +180 -0
  192. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +154 -0
  193. data/sorbet/rbi/gems/mustermann-contrib@3.0.3.rbi +9 -0
  194. data/sorbet/rbi/gems/mustermann@3.0.3.rbi +809 -0
  195. data/sorbet/rbi/gems/netrc@0.11.0.rbi +112 -0
  196. data/sorbet/rbi/gems/nokogiri@1.19.1.rbi +3412 -0
  197. data/sorbet/rbi/gems/parallel@1.26.3.rbi +234 -0
  198. data/sorbet/rbi/gems/parser@3.3.7.0.rbi +4877 -0
  199. data/sorbet/rbi/gems/pp@0.6.2.rbi +176 -0
  200. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +155 -0
  201. data/sorbet/rbi/gems/prism@1.5.1.rbi +26368 -0
  202. data/sorbet/rbi/gems/procto@0.0.3.rbi +9 -0
  203. data/sorbet/rbi/gems/psych@5.2.3.rbi +806 -0
  204. data/sorbet/rbi/gems/public_suffix@6.0.1.rbi +267 -0
  205. data/sorbet/rbi/gems/racc@1.8.1.rbi +120 -0
  206. data/sorbet/rbi/gems/rack-session@2.1.1.rbi +458 -0
  207. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +405 -0
  208. data/sorbet/rbi/gems/rack@3.1.14.rbi +2774 -0
  209. data/sorbet/rbi/gems/rackup@2.2.1.rbi +132 -0
  210. data/sorbet/rbi/gems/rails-dom-testing@2.2.0.rbi +266 -0
  211. data/sorbet/rbi/gems/rails-html-sanitizer@1.6.2.rbi +545 -0
  212. data/sorbet/rbi/gems/railties@8.0.4.rbi +2150 -0
  213. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +333 -0
  214. data/sorbet/rbi/gems/rake@13.2.1.rbi +2054 -0
  215. data/sorbet/rbi/gems/rbi@0.2.3.rbi +3961 -0
  216. data/sorbet/rbi/gems/rdoc@6.13.1.rbi +6784 -0
  217. data/sorbet/rbi/gems/regexp_parser@2.11.3.rbi +3020 -0
  218. data/sorbet/rbi/gems/reline@0.6.0.rbi +9 -0
  219. data/sorbet/rbi/gems/rexml@3.4.2.rbi +1777 -0
  220. data/sorbet/rbi/gems/rubocop-ast@1.38.0.rbi +5293 -0
  221. data/sorbet/rbi/gems/rubocop@1.71.1.rbi +31846 -0
  222. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +980 -0
  223. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  224. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +33 -0
  225. data/sorbet/rbi/gems/sentry-ruby@5.22.1.rbi +3782 -0
  226. data/sorbet/rbi/gems/spoom@1.5.1.rbi +4321 -0
  227. data/sorbet/rbi/gems/stringio@3.1.2.rbi +9 -0
  228. data/sorbet/rbi/gems/tapioca@0.16.8.rbi +3399 -0
  229. data/sorbet/rbi/gems/thor@1.3.2.rbi +2012 -0
  230. data/sorbet/rbi/gems/thread_safe@0.3.6.rbi +711 -0
  231. data/sorbet/rbi/gems/timeout@0.4.4.rbi +80 -0
  232. data/sorbet/rbi/gems/tsort@0.2.0.rbi +50 -0
  233. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +1677 -0
  234. data/sorbet/rbi/gems/unicode-display_width@2.6.0.rbi +62 -0
  235. data/sorbet/rbi/gems/uri@1.1.0.rbi +760 -0
  236. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  237. data/sorbet/rbi/gems/webmock@3.24.0.rbi +1362 -0
  238. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +345 -0
  239. data/sorbet/rbi/gems/yard@0.9.37.rbi +8795 -0
  240. data/sorbet/rbi/gems/zeitwerk@2.7.1.rbi +589 -0
  241. data/sorbet/tapioca/config.yml +45 -0
  242. data/sorbet/tapioca/require.rb +8 -0
  243. data/sorbet/tapioca/sorbet/rbi/dsl/.gitattributes +1 -0
  244. data/sorbet/tapioca/sorbet/rbi/dsl/active_support/callbacks.rbi +23 -0
  245. metadata +737 -0
@@ -0,0 +1,711 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `thread_safe` gem.
5
+ # Please instead update this file by running `bin/tapioca gem thread_safe`.
6
+
7
+
8
+ # source://thread_safe//lib/thread_safe/synchronized_delegator.rb#18
9
+ class SynchronizedDelegator < ::SimpleDelegator
10
+ # source://thread_safe//lib/thread_safe/synchronized_delegator.rb#28
11
+ def initialize(obj); end
12
+
13
+ # source://thread_safe//lib/thread_safe/synchronized_delegator.rb#33
14
+ def method_missing(method, *args, &block); end
15
+
16
+ # source://thread_safe//lib/thread_safe/synchronized_delegator.rb#19
17
+ def setup; end
18
+
19
+ # source://thread_safe//lib/thread_safe/synchronized_delegator.rb#24
20
+ def teardown; end
21
+ end
22
+
23
+ # source://thread_safe//lib/thread_safe/version.rb#1
24
+ module ThreadSafe; end
25
+
26
+ # source://thread_safe//lib/thread_safe.rb#34
27
+ ThreadSafe::Array = Array
28
+
29
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#180
30
+ class ThreadSafe::AtomicReferenceCacheBackend
31
+ extend ::ThreadSafe::Util::Volatile
32
+
33
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#357
34
+ def initialize(options = T.unsafe(nil)); end
35
+
36
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#382
37
+ def [](key); end
38
+
39
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#390
40
+ def []=(key, value); end
41
+
42
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#529
43
+ def clear; end
44
+
45
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#430
46
+ def compute(key); end
47
+
48
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#395
49
+ def compute_if_absent(key); end
50
+
51
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#418
52
+ def compute_if_present(key); end
53
+
54
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#480
55
+ def delete(key); end
56
+
57
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#484
58
+ def delete_pair(key, value); end
59
+
60
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#493
61
+ def each_pair; end
62
+
63
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#524
64
+ def empty?; end
65
+
66
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#460
67
+ def get_and_set(key, value); end
68
+
69
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#364
70
+ def get_or_default(key, else_value = T.unsafe(nil)); end
71
+
72
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#386
73
+ def key?(key); end
74
+
75
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#440
76
+ def merge_pair(key, value); end
77
+
78
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#454
79
+ def replace_if_exists(key, new_value); end
80
+
81
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#450
82
+ def replace_pair(key, old_value, new_value); end
83
+
84
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#520
85
+ def size; end
86
+
87
+ private
88
+
89
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#678
90
+ def attempt_compute(key, hash, current_table, i, node, node_hash); end
91
+
92
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#708
93
+ def attempt_get_and_set(key, value, hash, current_table, i, node, node_hash); end
94
+
95
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#658
96
+ def attempt_internal_compute_if_absent(key, hash, current_table, i, node, node_hash); end
97
+
98
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#594
99
+ def attempt_internal_replace(key, expected_old_value, hash, current_table, i, node, node_hash); end
100
+
101
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#779
102
+ def check_for_resize; end
103
+
104
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#904
105
+ def decrement_size(by = T.unsafe(nil)); end
106
+
107
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#617
108
+ def find_value_in_node_list(node, key, hash, pure_hash); end
109
+
110
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#900
111
+ def increment_size; end
112
+
113
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#736
114
+ def initialize_copy(other); end
115
+
116
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#761
117
+ def initialize_table; end
118
+
119
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#633
120
+ def internal_compute(key, &block); end
121
+
122
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#574
123
+ def internal_replace(key, expected_old_value = T.unsafe(nil), &block); end
124
+
125
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#749
126
+ def key_hash(key); end
127
+
128
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#847
129
+ def lock_and_clean_up_reverse_forwarders(old_table, old_table_size, new_table, i, forwarder); end
130
+
131
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#801
132
+ def rebuild(table); end
133
+
134
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#867
135
+ def split_bin(new_table, i, node, node_hash); end
136
+
137
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#860
138
+ def split_old_bin(table, new_table, i, node, node_hash, forwarder); end
139
+
140
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#754
141
+ def table_size_for(entry_count); end
142
+
143
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#744
144
+ def try_await_lock(current_table, i, node); end
145
+
146
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#788
147
+ def try_in_resize_lock(current_table, size_ctrl); end
148
+ end
149
+
150
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#339
151
+ ThreadSafe::AtomicReferenceCacheBackend::DEFAULT_CAPACITY = T.let(T.unsafe(nil), Integer)
152
+
153
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#336
154
+ ThreadSafe::AtomicReferenceCacheBackend::HASH_BITS = T.let(T.unsafe(nil), Integer)
155
+
156
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#334
157
+ ThreadSafe::AtomicReferenceCacheBackend::LOCKED = T.let(T.unsafe(nil), Integer)
158
+
159
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#340
160
+ ThreadSafe::AtomicReferenceCacheBackend::MAX_CAPACITY = T.let(T.unsafe(nil), Integer)
161
+
162
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#333
163
+ ThreadSafe::AtomicReferenceCacheBackend::MOVED = T.let(T.unsafe(nil), Integer)
164
+
165
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#338
166
+ ThreadSafe::AtomicReferenceCacheBackend::NOW_RESIZING = T.let(T.unsafe(nil), Integer)
167
+
168
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#226
169
+ class ThreadSafe::AtomicReferenceCacheBackend::Node
170
+ include ::ThreadSafe::Util::CheapLockable
171
+ extend ::ThreadSafe::Util::Volatile
172
+
173
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#243
174
+ def initialize(hash, key, value, next_node = T.unsafe(nil)); end
175
+
176
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#241
177
+ def key; end
178
+
179
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#281
180
+ def key?(key); end
181
+
182
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#303
183
+ def locked?; end
184
+
185
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#285
186
+ def matches?(key, hash); end
187
+
188
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#289
189
+ def pure_hash; end
190
+
191
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#260
192
+ def try_await_lock(table, i); end
193
+
194
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#293
195
+ def try_lock_via_hash(node_hash = T.unsafe(nil)); end
196
+
197
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#307
198
+ def unlock_via_hash(locked_hash, node_hash); end
199
+
200
+ private
201
+
202
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#315
203
+ def force_aquire_lock(table, i); end
204
+
205
+ class << self
206
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#326
207
+ def locked_hash?(hash); end
208
+ end
209
+ end
210
+
211
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#237
212
+ ThreadSafe::AtomicReferenceCacheBackend::Node::HASH_BITS = T.let(T.unsafe(nil), Integer)
213
+
214
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#235
215
+ ThreadSafe::AtomicReferenceCacheBackend::Node::LOCKED = T.let(T.unsafe(nil), Integer)
216
+
217
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#234
218
+ ThreadSafe::AtomicReferenceCacheBackend::Node::MOVED = T.let(T.unsafe(nil), Integer)
219
+
220
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#239
221
+ ThreadSafe::AtomicReferenceCacheBackend::Node::SPIN_LOCK_ATTEMPTS = T.let(T.unsafe(nil), Integer)
222
+
223
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#236
224
+ ThreadSafe::AtomicReferenceCacheBackend::Node::WAITING = T.let(T.unsafe(nil), Integer)
225
+
226
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#345
227
+ ThreadSafe::AtomicReferenceCacheBackend::TRANSFER_BUFFER_SIZE = T.let(T.unsafe(nil), Integer)
228
+
229
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#181
230
+ class ThreadSafe::AtomicReferenceCacheBackend::Table < ::ThreadSafe::Util::PowerOfTwoTuple
231
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#182
232
+ def cas_new_node(i, hash, key, value); end
233
+
234
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#212
235
+ def delete_node_at(i, node, predecessor_node); end
236
+
237
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#206
238
+ def try_lock_via_hash(i, node, node_hash); end
239
+
240
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#186
241
+ def try_to_cas_in_computed(i, hash, key); end
242
+ end
243
+
244
+ # source://thread_safe//lib/thread_safe/atomic_reference_cache_backend.rb#335
245
+ ThreadSafe::AtomicReferenceCacheBackend::WAITING = T.let(T.unsafe(nil), Integer)
246
+
247
+ # source://thread_safe//lib/thread_safe/cache.rb#23
248
+ class ThreadSafe::Cache < ::ThreadSafe::MriCacheBackend
249
+ # source://thread_safe//lib/thread_safe/cache.rb#24
250
+ def initialize(options = T.unsafe(nil), &block); end
251
+
252
+ # source://thread_safe//lib/thread_safe/cache.rb#35
253
+ def [](key); end
254
+
255
+ # source://thread_safe//lib/thread_safe/cache.rb#98
256
+ def each_key; end
257
+
258
+ # source://thread_safe//lib/thread_safe/cache.rb#102
259
+ def each_value; end
260
+
261
+ # source://thread_safe//lib/thread_safe/cache.rb#112
262
+ def empty?; end
263
+
264
+ # source://thread_safe//lib/thread_safe/cache.rb#52
265
+ def fetch(key, default_value = T.unsafe(nil)); end
266
+
267
+ # source://thread_safe//lib/thread_safe/cache.rb#64
268
+ def fetch_or_store(key, default_value = T.unsafe(nil)); end
269
+
270
+ # source://thread_safe//lib/thread_safe/cache.rb#35
271
+ def get(key); end
272
+
273
+ # source://thread_safe//lib/thread_safe/cache.rb#106
274
+ def key(value); end
275
+
276
+ # source://thread_safe//lib/thread_safe/cache.rb#86
277
+ def keys; end
278
+
279
+ # source://thread_safe//lib/thread_safe/cache.rb#123
280
+ def marshal_dump; end
281
+
282
+ # source://thread_safe//lib/thread_safe/cache.rb#130
283
+ def marshal_load(hash); end
284
+
285
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#12
286
+ def put(key, value); end
287
+
288
+ # source://thread_safe//lib/thread_safe/cache.rb#70
289
+ def put_if_absent(key, value); end
290
+
291
+ # source://thread_safe//lib/thread_safe/cache.rb#92
292
+ def values; end
293
+
294
+ private
295
+
296
+ # source://thread_safe//lib/thread_safe/cache.rb#142
297
+ def initialize_copy(other); end
298
+
299
+ # source://thread_safe//lib/thread_safe/cache.rb#147
300
+ def populate_from(hash); end
301
+
302
+ # source://thread_safe//lib/thread_safe/cache.rb#138
303
+ def raise_fetch_no_key; end
304
+
305
+ # source://thread_safe//lib/thread_safe/cache.rb#152
306
+ def validate_options_hash!(options); end
307
+ end
308
+
309
+ # source://thread_safe//lib/thread_safe/cache.rb#10
310
+ ThreadSafe::ConcurrentCacheBackend = ThreadSafe::MriCacheBackend
311
+
312
+ # source://thread_safe//lib/thread_safe.rb#35
313
+ ThreadSafe::Hash = Hash
314
+
315
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#2
316
+ class ThreadSafe::MriCacheBackend < ::ThreadSafe::NonConcurrentCacheBackend
317
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#12
318
+ def []=(key, value); end
319
+
320
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#56
321
+ def clear; end
322
+
323
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#28
324
+ def compute(key); end
325
+
326
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#16
327
+ def compute_if_absent(key); end
328
+
329
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#24
330
+ def compute_if_present(key); end
331
+
332
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#48
333
+ def delete(key); end
334
+
335
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#52
336
+ def delete_pair(key, value); end
337
+
338
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#44
339
+ def get_and_set(key, value); end
340
+
341
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#32
342
+ def merge_pair(key, value); end
343
+
344
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#40
345
+ def replace_if_exists(key, new_value); end
346
+
347
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#36
348
+ def replace_pair(key, old_value, new_value); end
349
+ end
350
+
351
+ # source://thread_safe//lib/thread_safe/mri_cache_backend.rb#10
352
+ ThreadSafe::MriCacheBackend::WRITE_LOCK = T.let(T.unsafe(nil), Thread::Mutex)
353
+
354
+ # source://thread_safe//lib/thread_safe.rb#9
355
+ ThreadSafe::NULL = T.let(T.unsafe(nil), Object)
356
+
357
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#2
358
+ class ThreadSafe::NonConcurrentCacheBackend
359
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#7
360
+ def initialize(options = T.unsafe(nil)); end
361
+
362
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#11
363
+ def [](key); end
364
+
365
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#15
366
+ def []=(key, value); end
367
+
368
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#88
369
+ def clear; end
370
+
371
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#49
372
+ def compute(key); end
373
+
374
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#19
375
+ def compute_if_absent(key); end
376
+
377
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#43
378
+ def compute_if_present(key); end
379
+
380
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#75
381
+ def delete(key); end
382
+
383
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#79
384
+ def delete_pair(key, value); end
385
+
386
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#93
387
+ def each_pair; end
388
+
389
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#61
390
+ def get_and_set(key, value); end
391
+
392
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#104
393
+ def get_or_default(key, default_value); end
394
+
395
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#67
396
+ def key?(key); end
397
+
398
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#53
399
+ def merge_pair(key, value); end
400
+
401
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#36
402
+ def replace_if_exists(key, new_value); end
403
+
404
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#27
405
+ def replace_pair(key, old_value, new_value); end
406
+
407
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#100
408
+ def size; end
409
+
410
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#71
411
+ def value?(value); end
412
+
413
+ private
414
+
415
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#11
416
+ def _get(key); end
417
+
418
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#15
419
+ def _set(key, value); end
420
+
421
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#118
422
+ def dupped_backend; end
423
+
424
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#112
425
+ def initialize_copy(other); end
426
+
427
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#122
428
+ def pair?(key, expected_value); end
429
+
430
+ # source://thread_safe//lib/thread_safe/non_concurrent_cache_backend.rb#126
431
+ def store_computed_value(key, new_value); end
432
+ end
433
+
434
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#2
435
+ class ThreadSafe::SynchronizedCacheBackend < ::ThreadSafe::NonConcurrentCacheBackend
436
+ include ::Mutex_m
437
+
438
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#8
439
+ def [](key); end
440
+
441
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#12
442
+ def []=(key, value); end
443
+
444
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#60
445
+ def clear; end
446
+
447
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#24
448
+ def compute(key); end
449
+
450
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#16
451
+ def compute_if_absent(key); end
452
+
453
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#20
454
+ def compute_if_present(key); end
455
+
456
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#52
457
+ def delete(key); end
458
+
459
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#56
460
+ def delete_pair(key, value); end
461
+
462
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#40
463
+ def get_and_set(key, value); end
464
+
465
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#68
466
+ def get_or_default(key, default_value); end
467
+
468
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#44
469
+ def key?(key); end
470
+
471
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#91
472
+ def lock; end
473
+
474
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#81
475
+ def locked?; end
476
+
477
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#28
478
+ def merge_pair(key, value); end
479
+
480
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#36
481
+ def replace_if_exists(key, new_value); end
482
+
483
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#32
484
+ def replace_pair(key, old_value, new_value); end
485
+
486
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#64
487
+ def size; end
488
+
489
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#76
490
+ def synchronize(&block); end
491
+
492
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#86
493
+ def try_lock; end
494
+
495
+ # source://mutex_m/0.2.0/lib/mutex_m.rb#96
496
+ def unlock; end
497
+
498
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#48
499
+ def value?(value); end
500
+
501
+ private
502
+
503
+ # source://thread_safe//lib/thread_safe/synchronized_cache_backend.rb#73
504
+ def dupped_backend; end
505
+ end
506
+
507
+ # source://thread_safe//lib/thread_safe/util.rb#2
508
+ module ThreadSafe::Util; end
509
+
510
+ # source://thread_safe//lib/thread_safe/util/adder.rb#22
511
+ class ThreadSafe::Util::Adder < ::ThreadSafe::Util::Striped64
512
+ # source://thread_safe//lib/thread_safe/util/adder.rb#24
513
+ def add(x); end
514
+
515
+ # source://thread_safe//lib/thread_safe/util/adder.rb#38
516
+ def decrement; end
517
+
518
+ # source://thread_safe//lib/thread_safe/util/adder.rb#34
519
+ def increment; end
520
+
521
+ # source://thread_safe//lib/thread_safe/util/adder.rb#57
522
+ def reset; end
523
+
524
+ # source://thread_safe//lib/thread_safe/util/adder.rb#47
525
+ def sum; end
526
+ end
527
+
528
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#3
529
+ ThreadSafe::Util::AtomicReference = ThreadSafe::Util::FullLockingAtomicReference
530
+
531
+ # source://thread_safe//lib/thread_safe/util.rb#5
532
+ ThreadSafe::Util::CPU_COUNT = T.let(T.unsafe(nil), Integer)
533
+
534
+ # source://thread_safe//lib/thread_safe/util/cheap_lockable.rb#22
535
+ module ThreadSafe::Util::CheapLockable
536
+ extend ::ThreadSafe::Util::Volatile
537
+
538
+ private
539
+
540
+ # source://thread_safe//lib/thread_safe/util/cheap_lockable.rb#98
541
+ def cheap_broadcast; end
542
+
543
+ # source://thread_safe//lib/thread_safe/util/cheap_lockable.rb#84
544
+ def cheap_synchronize; end
545
+
546
+ # source://thread_safe//lib/thread_safe/util/cheap_lockable.rb#91
547
+ def cheap_wait; end
548
+ end
549
+
550
+ # source://thread_safe//lib/thread_safe/util.rb#3
551
+ ThreadSafe::Util::FIXNUM_BIT_SIZE = T.let(T.unsafe(nil), Integer)
552
+
553
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#12
554
+ class ThreadSafe::Util::FullLockingAtomicReference
555
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#13
556
+ def initialize(value = T.unsafe(nil)); end
557
+
558
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#28
559
+ def compare_and_set(old_value, new_value); end
560
+
561
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#18
562
+ def get; end
563
+
564
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#23
565
+ def set(new_value); end
566
+
567
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#18
568
+ def value; end
569
+
570
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#23
571
+ def value=(new_value); end
572
+ end
573
+
574
+ # source://thread_safe//lib/thread_safe/util.rb#4
575
+ ThreadSafe::Util::MAX_INT = T.let(T.unsafe(nil), Integer)
576
+
577
+ # source://thread_safe//lib/thread_safe/util/power_of_two_tuple.rb#3
578
+ class ThreadSafe::Util::PowerOfTwoTuple < ::ThreadSafe::Util::VolatileTuple
579
+ # source://thread_safe//lib/thread_safe/util/power_of_two_tuple.rb#4
580
+ def initialize(size); end
581
+
582
+ # source://thread_safe//lib/thread_safe/util/power_of_two_tuple.rb#9
583
+ def hash_to_index(hash); end
584
+
585
+ # source://thread_safe//lib/thread_safe/util/power_of_two_tuple.rb#21
586
+ def next_in_size_table; end
587
+
588
+ # source://thread_safe//lib/thread_safe/util/power_of_two_tuple.rb#13
589
+ def volatile_get_by_hash(hash); end
590
+
591
+ # source://thread_safe//lib/thread_safe/util/power_of_two_tuple.rb#17
592
+ def volatile_set_by_hash(hash, value); end
593
+ end
594
+
595
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#64
596
+ class ThreadSafe::Util::Striped64
597
+ extend ::ThreadSafe::Util::Volatile
598
+
599
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#89
600
+ def initialize; end
601
+
602
+ # source://thread_safe//lib/thread_safe/util/volatile.rb#44
603
+ def busy?; end
604
+
605
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#108
606
+ def retry_update(x, hash_code, was_uncontended); end
607
+
608
+ private
609
+
610
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#172
611
+ def cas_base_computed; end
612
+
613
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#192
614
+ def expand_table_unless_stale(current_cells); end
615
+
616
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#176
617
+ def free?; end
618
+
619
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#153
620
+ def hash_code; end
621
+
622
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#157
623
+ def hash_code=(hash); end
624
+
625
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#162
626
+ def internal_reset(initial_value); end
627
+
628
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#211
629
+ def try_in_busy; end
630
+
631
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#180
632
+ def try_initialize_cells(x, hash); end
633
+
634
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#202
635
+ def try_to_install_new_cell(new_cell, hash); end
636
+ end
637
+
638
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#71
639
+ class ThreadSafe::Util::Striped64::Cell < ::ThreadSafe::Util::FullLockingAtomicReference
640
+ # source://thread_safe//lib/thread_safe/util/atomic_reference.rb#28
641
+ def cas(old_value, new_value); end
642
+
643
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#77
644
+ def cas_computed; end
645
+
646
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#73
647
+ def padding_; end
648
+ end
649
+
650
+ # source://thread_safe//lib/thread_safe/util/striped64.rb#149
651
+ ThreadSafe::Util::Striped64::THREAD_LOCAL_KEY = T.let(T.unsafe(nil), Symbol)
652
+
653
+ # source://thread_safe//lib/thread_safe/util/volatile.rb#3
654
+ module ThreadSafe::Util::Volatile
655
+ # source://thread_safe//lib/thread_safe/util/volatile.rb#23
656
+ def attr_volatile(*attr_names); end
657
+ end
658
+
659
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#10
660
+ class ThreadSafe::Util::VolatileTuple
661
+ include ::Enumerable
662
+
663
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#15
664
+ def initialize(size); end
665
+
666
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#32
667
+ def cas(i, old_value, new_value); end
668
+
669
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#32
670
+ def compare_and_set(i, old_value, new_value); end
671
+
672
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#41
673
+ def each; end
674
+
675
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#37
676
+ def size; end
677
+
678
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#24
679
+ def volatile_get(i); end
680
+
681
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#28
682
+ def volatile_set(i, value); end
683
+ end
684
+
685
+ # source://thread_safe//lib/thread_safe/util/volatile_tuple.rb#13
686
+ ThreadSafe::Util::VolatileTuple::Tuple = Array
687
+
688
+ # source://thread_safe//lib/thread_safe/util/xor_shift_random.rb#14
689
+ module ThreadSafe::Util::XorShiftRandom
690
+ extend ::ThreadSafe::Util::XorShiftRandom
691
+
692
+ # source://thread_safe//lib/thread_safe/util/xor_shift_random.rb#19
693
+ def get; end
694
+
695
+ # source://thread_safe//lib/thread_safe/util/xor_shift_random.rb#33
696
+ def xorshift(x); end
697
+ end
698
+
699
+ # source://thread_safe//lib/thread_safe/util/xor_shift_random.rb#16
700
+ ThreadSafe::Util::XorShiftRandom::MAX_XOR_SHIFTABLE_INT = T.let(T.unsafe(nil), Integer)
701
+
702
+ # source://thread_safe//lib/thread_safe/version.rb#2
703
+ ThreadSafe::VERSION = T.let(T.unsafe(nil), String)
704
+
705
+ # source://thread_safe//lib/thread_safe/version.rb#7
706
+ module Threadsafe
707
+ class << self
708
+ # source://thread_safe//lib/thread_safe/version.rb#10
709
+ def const_missing(name); end
710
+ end
711
+ end