roast-ai 1.0.2 → 1.2.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 (125) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/commands/docs/write-comments.md +1 -1
  3. data/.rubocop.yml +12 -1
  4. data/Gemfile +2 -2
  5. data/Gemfile.lock +149 -34
  6. data/README.md +56 -3
  7. data/examples/agent_with_multiple_prompts.rb +27 -0
  8. data/examples/custom_logging.rb +4 -2
  9. data/examples/demo/Gemfile.lock +49 -15
  10. data/examples/plugin-gem-example/Gemfile.lock +19 -15
  11. data/examples/simple_chat.rb +1 -1
  12. data/examples/simple_pi_agent.rb +18 -0
  13. data/internal/rubocop/cop/roast/no_test_class_nesting.rb +126 -0
  14. data/internal/rubocop/rubocop-roast.yml +6 -0
  15. data/internal/workflows/maintenance/branch_docs_impact.rb +97 -0
  16. data/internal/workflows/maintenance/deprecated_models_docs_updater.rb +78 -0
  17. data/lib/roast/cog/config.rb +1 -1
  18. data/lib/roast/cog/output.rb +2 -1
  19. data/lib/roast/cog/registry.rb +3 -3
  20. data/lib/roast/cog_input_manager.rb +28 -7
  21. data/lib/roast/cogs/agent/config.rb +2 -2
  22. data/lib/roast/cogs/agent/input.rb +20 -22
  23. data/lib/roast/cogs/agent/providers/claude/claude_invocation.rb +13 -5
  24. data/lib/roast/cogs/agent/providers/claude/messages/result_message.rb +1 -1
  25. data/lib/roast/cogs/agent/providers/claude/tool_result.rb +344 -4
  26. data/lib/roast/cogs/agent/providers/claude/tool_use.rb +356 -1
  27. data/lib/roast/cogs/agent/providers/claude.rb +16 -3
  28. data/lib/roast/cogs/agent/providers/pi/messages/tool_call_message.rb +60 -0
  29. data/lib/roast/cogs/agent/providers/pi/messages/tool_result_message.rb +57 -0
  30. data/lib/roast/cogs/agent/providers/pi/pi_invocation.rb +352 -0
  31. data/lib/roast/cogs/agent/providers/pi.rb +41 -0
  32. data/lib/roast/cogs/agent/stats.rb +29 -0
  33. data/lib/roast/cogs/agent/usage.rb +22 -0
  34. data/lib/roast/cogs/agent.rb +5 -6
  35. data/lib/roast/cogs/chat/config.rb +28 -2
  36. data/lib/roast/cogs/chat.rb +82 -10
  37. data/lib/roast/event.rb +1 -0
  38. data/lib/roast/event_monitor.rb +35 -3
  39. data/lib/roast/log.rb +21 -0
  40. data/lib/roast/log_formatter.rb +9 -7
  41. data/lib/roast/version.rb +1 -1
  42. data/lib/roast.rb +1 -3
  43. data/roast-ai.gemspec +2 -1
  44. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +549 -383
  45. data/sorbet/rbi/gems/addressable@2.8.7.rbi +46 -44
  46. data/sorbet/rbi/gems/ast@2.4.3.rbi +7 -6
  47. data/sorbet/rbi/gems/async@2.34.0.rbi +21 -3
  48. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +7 -7
  49. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +198 -1
  50. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +405 -328
  51. data/sorbet/rbi/gems/console@1.34.2.rbi +2 -2
  52. data/sorbet/rbi/gems/docile@1.4.1.rbi +30 -30
  53. data/sorbet/rbi/gems/drb@2.2.3.rbi +25 -25
  54. data/sorbet/rbi/gems/erubi@1.13.1.rbi +2 -0
  55. data/sorbet/rbi/gems/faraday-net_http@3.4.2.rbi +2 -77
  56. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +2 -57
  57. data/sorbet/rbi/gems/faraday@2.14.1.rbi +382 -75
  58. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +1 -110
  59. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +0 -139
  60. data/sorbet/rbi/gems/guard@2.19.1.rbi +38 -38
  61. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +3 -3
  62. data/sorbet/rbi/gems/i18n@1.14.7.rbi +53 -29
  63. data/sorbet/rbi/gems/io-event@1.14.0.rbi +67 -10
  64. data/sorbet/rbi/gems/json@2.18.1.rbi +227 -5
  65. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +83 -0
  66. data/sorbet/rbi/gems/listen@3.9.0.rbi +7 -7
  67. data/sorbet/rbi/gems/logger@1.7.0.rbi +3 -3
  68. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +21 -21
  69. data/sorbet/rbi/gems/marcel@1.1.0.rbi +1 -1
  70. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +0 -96
  71. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1 -16
  72. data/sorbet/rbi/gems/net-http@0.9.1.rbi +27 -19
  73. data/sorbet/rbi/gems/netrc@0.11.0.rbi +18 -0
  74. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +20 -20
  75. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +149 -15
  76. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +141 -139
  77. data/sorbet/rbi/gems/prism@1.4.0.rbi +922 -864
  78. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +56 -35
  79. data/sorbet/rbi/gems/racc@1.8.1.rbi +10 -2
  80. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +12 -12
  81. data/sorbet/rbi/gems/rake@13.3.0.rbi +219 -318
  82. data/sorbet/rbi/gems/{rbi@0.3.6.rbi → rbi@0.3.9.rbi} +612 -2267
  83. data/sorbet/rbi/gems/{rbs@3.9.4.rbi → rbs@4.0.0.dev.5.rbi} +2013 -680
  84. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +151 -113
  85. data/sorbet/rbi/gems/require-hooks@0.2.3.rbi +110 -0
  86. data/sorbet/rbi/gems/rexml@3.4.2.rbi +24 -51
  87. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +506 -815
  88. data/sorbet/rbi/gems/rubocop-sorbet@0.10.5.rbi +16 -16
  89. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +2692 -2327
  90. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +8 -8
  91. data/sorbet/rbi/gems/ruby_llm@1.8.2.rbi +38 -23
  92. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +1 -1
  93. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +2 -131
  94. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +28 -127
  95. data/sorbet/rbi/gems/{spoom@1.6.3.rbi → spoom@1.7.11.rbi} +1139 -2246
  96. data/sorbet/rbi/gems/sqlite3@2.9.0.rbi +91 -1
  97. data/sorbet/rbi/gems/{tapioca@0.16.11.rbi → tapioca@0.17.10.rbi} +721 -835
  98. data/sorbet/rbi/gems/thor@1.4.0.rbi +53 -53
  99. data/sorbet/rbi/gems/tsort@0.2.0.rbi +393 -0
  100. data/sorbet/rbi/gems/type_toolkit@0.0.5.rbi +49 -0
  101. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +144 -143
  102. data/sorbet/rbi/gems/uri@1.1.1.rbi +7 -7
  103. data/sorbet/rbi/gems/vcr@6.3.1.rbi +53 -36
  104. data/sorbet/rbi/gems/webmock@3.25.1.rbi +38 -13
  105. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +39 -272
  106. data/sorbet/rbi/shims/lib/roast/execution_context.rbi +3 -3
  107. data/tutorial/01_your_first_workflow/README.md +9 -5
  108. data/tutorial/01_your_first_workflow/configured_chat.rb +1 -1
  109. data/tutorial/02_chaining_cogs/README.md +2 -2
  110. data/tutorial/02_chaining_cogs/code_review.rb +1 -1
  111. data/tutorial/02_chaining_cogs/session_resumption.rb +1 -1
  112. data/tutorial/03_targets_and_params/README.md +1 -1
  113. data/tutorial/04_configuration_options/README.md +2 -2
  114. data/tutorial/08_iterative_workflows/README.md +1 -1
  115. data/tutorial/README.md +1 -1
  116. metadata +39 -17
  117. data/docs/AGENT_STEPS.md +0 -288
  118. data/docs/INSTRUMENTATION.md +0 -243
  119. data/docs/ITERATION_SYNTAX.md +0 -147
  120. data/docs/VALIDATION.md +0 -178
  121. data/lib/roast/nil_assertions.rb +0 -23
  122. /data/internal/documentation/{architectural-notes.md → comments/architectural-notes.md} +0 -0
  123. /data/internal/documentation/{doc-comments-external.md → comments/doc-comments-external.md} +0 -0
  124. /data/internal/documentation/{doc-comments-internal.md → comments/doc-comments-internal.md} +0 -0
  125. /data/internal/documentation/{doc-comments.md → comments/doc-comments.md} +0 -0
@@ -109,7 +109,7 @@ module Concurrent
109
109
  #
110
110
  # @raise [Transaction::AbortError]
111
111
  #
112
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#139
112
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#148
113
113
  def abort_transaction; end
114
114
 
115
115
  # Run a block that reads and writes `TVar`s as a single atomic transaction.
@@ -144,7 +144,7 @@ module Concurrent
144
144
  # end
145
145
  # @raise [ArgumentError]
146
146
  #
147
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#82
147
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#148
148
148
  def atomically; end
149
149
 
150
150
  # Number of processors cores available for process scheduling.
@@ -162,7 +162,7 @@ module Concurrent
162
162
 
163
163
  # @raise [ArgumentError]
164
164
  #
165
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#56
165
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#80
166
166
  def call_dataflow(method, executor, *inputs, &block); end
167
167
 
168
168
  # The maximum number of processors cores available for process scheduling.
@@ -212,16 +212,16 @@ module Concurrent
212
212
  # @yieldparam inputs [Future] each of the `Future` inputs to the dataflow
213
213
  # @yieldreturn [Object] the result of the block operation
214
214
  #
215
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#34
215
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#37
216
216
  def dataflow(*inputs, &block); end
217
217
 
218
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#44
218
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#47
219
219
  def dataflow!(*inputs, &block); end
220
220
 
221
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#39
221
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#42
222
222
  def dataflow_with(executor, *inputs, &block); end
223
223
 
224
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#49
224
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/dataflow.rb#52
225
225
  def dataflow_with!(executor, *inputs, &block); end
226
226
 
227
227
  # Disables AtExit handlers including pool auto-termination handlers.
@@ -287,7 +287,7 @@ module Concurrent
287
287
  #
288
288
  # @raise [Transaction::LeaveError]
289
289
  #
290
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#144
290
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#148
291
291
  def leave_transaction; end
292
292
 
293
293
  # Returns the current time as tracked by the application monotonic clock.
@@ -298,7 +298,7 @@ module Concurrent
298
298
  # @return [Float] The current monotonic time since some unspecified
299
299
  # starting point
300
300
  #
301
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/monotonic_time.rb#15
301
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/monotonic_time.rb#18
302
302
  def monotonic_time(unit = T.unsafe(nil)); end
303
303
 
304
304
  # @return [Boolean]
@@ -323,10 +323,10 @@ module Concurrent
323
323
  # work or an exception is raised the function will simply return 1.
324
324
  #
325
325
  # @return [Integer] number physical processor cores on the current system
326
- # @see https://github.com/grosser/parallel/blob/4fc8b89d08c7091fe0419ca8fba1ec3ce5a8d185/lib/parallel.rb
326
+ # @see http://linux.die.net/man/8/sysctl
327
327
  # @see http://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx
328
328
  # @see http://www.unix.com/man-page/osx/1/HWPREFS/
329
- # @see http://linux.die.net/man/8/sysctl
329
+ # @see https://github.com/grosser/parallel/blob/4fc8b89d08c7091fe0419ca8fba1ec3ce5a8d185/lib/parallel.rb
330
330
  #
331
331
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/processor_counter.rb#181
332
332
  def physical_processor_count; end
@@ -388,8 +388,8 @@ class Concurrent::AbstractExchanger < ::Concurrent::Synchronization::Object
388
388
  # signifies timeout. When `nil` is a valid value in the exchange consider
389
389
  # using {#exchange!} or {#try_exchange} instead.
390
390
  #
391
- # @param value [Object] the value to exchange with another thread
392
391
  # @param timeout [Numeric, nil] in seconds, `nil` blocks indefinitely
392
+ # @param value [Object] the value to exchange with another thread
393
393
  # @return [Object] the value exchanged by the other thread or `nil` on timeout
394
394
  #
395
395
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#69
@@ -405,8 +405,8 @@ class Concurrent::AbstractExchanger < ::Concurrent::Synchronization::Object
405
405
  #
406
406
  # On timeout a {Concurrent::TimeoutError} exception will be raised.
407
407
  #
408
- # @param value [Object] the value to exchange with another thread
409
408
  # @param timeout [Numeric, nil] in seconds, `nil` blocks indefinitely
409
+ # @param value [Object] the value to exchange with another thread
410
410
  # @raise [Concurrent::TimeoutError] on timeout
411
411
  # @return [Object] the value exchanged by the other thread
412
412
  #
@@ -435,8 +435,8 @@ class Concurrent::AbstractExchanger < ::Concurrent::Synchronization::Object
435
435
  # else
436
436
  # puts 'timeout'
437
437
  # end
438
- # @param value [Object] the value to exchange with another thread
439
438
  # @param timeout [Numeric, nil] in seconds, `nil` blocks indefinitely
439
+ # @param value [Object] the value to exchange with another thread
440
440
  # @return [Concurrent::Maybe] on success a `Just` maybe will be returned with
441
441
  # the item exchanged by the other thread as `#value`; on timeout a
442
442
  # `Nothing` maybe will be returned with {Concurrent::TimeoutError} as `#reason`
@@ -453,8 +453,8 @@ class Concurrent::AbstractExchanger < ::Concurrent::Synchronization::Object
453
453
  # for the exchange. When the timeout value is `nil` the method will
454
454
  # block indefinitely.
455
455
  #
456
- # @param value [Object] the value to exchange with another thread
457
456
  # @param timeout [Numeric, nil] in seconds, `nil` blocks indefinitely
457
+ # @param value [Object] the value to exchange with another thread
458
458
  # @raise [NotImplementedError]
459
459
  # @return [Object, CANCEL] the value exchanged by the other thread; {CANCEL} on timeout
460
460
  #
@@ -895,7 +895,7 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
895
895
  #
896
896
  # @return [Object] the current value
897
897
  #
898
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#229
898
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#233
899
899
  def deref; end
900
900
 
901
901
  # When {#failed?} and {#error_mode} is `:fail`, returns the error object
@@ -937,18 +937,18 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
937
937
  # * {#send_via} and {#send_via!} are used when a specific executor is to
938
938
  # be used for the action
939
939
  #
940
+ # @param action [Proc] the action dispatch to be enqueued
940
941
  # @param args [Array<Object>] zero or more arguments to be passed to
941
942
  # the action
942
- # @param action [Proc] the action dispatch to be enqueued
943
943
  # @return [Boolean] true if the action is successfully enqueued, false if
944
944
  # the Agent is {#failed?}
945
945
  # @yield [agent, value, *args] process the old value and return the new
946
- # @yieldparam value [Object] the current {#value} of the Agent
947
946
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
948
947
  # action
948
+ # @yieldparam value [Object] the current {#value} of the Agent
949
949
  # @yieldreturn [Object] the new value of the Agent
950
950
  #
951
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#294
951
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#298
952
952
  def post(*args, &action); end
953
953
 
954
954
  # When {#failed?} and {#error_mode} is `:fail`, returns the error object
@@ -957,7 +957,7 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
957
957
  #
958
958
  # @return [nil, Error] the error which caused the failure when {#failed?}
959
959
  #
960
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#240
960
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#244
961
961
  def reason; end
962
962
 
963
963
  # When an Agent is {#failed?}, changes the Agent {#value} to `new_value`
@@ -995,15 +995,15 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
995
995
  # * {#send_via} and {#send_via!} are used when a specific executor is to
996
996
  # be used for the action
997
997
  #
998
+ # @param action [Proc] the action dispatch to be enqueued
998
999
  # @param args [Array<Object>] zero or more arguments to be passed to
999
1000
  # the action
1000
- # @param action [Proc] the action dispatch to be enqueued
1001
1001
  # @return [Boolean] true if the action is successfully enqueued, false if
1002
1002
  # the Agent is {#failed?}
1003
1003
  # @yield [agent, value, *args] process the old value and return the new
1004
- # @yieldparam value [Object] the current {#value} of the Agent
1005
1004
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
1006
1005
  # action
1006
+ # @yieldparam value [Object] the current {#value} of the Agent
1007
1007
  # @yieldreturn [Object] the new value of the Agent
1008
1008
  #
1009
1009
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#278
@@ -1026,15 +1026,15 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1026
1026
  # * {#send_via} and {#send_via!} are used when a specific executor is to
1027
1027
  # be used for the action
1028
1028
  #
1029
+ # @param action [Proc] the action dispatch to be enqueued
1029
1030
  # @param args [Array<Object>] zero or more arguments to be passed to
1030
1031
  # the action
1031
- # @param action [Proc] the action dispatch to be enqueued
1032
1032
  # @raise [Concurrent::Agent::Error] if the Agent is {#failed?}
1033
1033
  # @return [Boolean] true if the action is successfully enqueued
1034
1034
  # @yield [agent, value, *args] process the old value and return the new
1035
- # @yieldparam value [Object] the current {#value} of the Agent
1036
1035
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
1037
1036
  # action
1037
+ # @yieldparam value [Object] the current {#value} of the Agent
1038
1038
  # @yieldreturn [Object] the new value of the Agent
1039
1039
  #
1040
1040
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#287
@@ -1057,15 +1057,15 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1057
1057
  # * {#send_via} and {#send_via!} are used when a specific executor is to
1058
1058
  # be used for the action
1059
1059
  #
1060
+ # @param action [Proc] the action dispatch to be enqueued
1060
1061
  # @param args [Array<Object>] zero or more arguments to be passed to
1061
1062
  # the action
1062
- # @param action [Proc] the action dispatch to be enqueued
1063
1063
  # @return [Boolean] true if the action is successfully enqueued, false if
1064
1064
  # the Agent is {#failed?}
1065
1065
  # @yield [agent, value, *args] process the old value and return the new
1066
- # @yieldparam value [Object] the current {#value} of the Agent
1067
1066
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
1068
1067
  # action
1068
+ # @yieldparam value [Object] the current {#value} of the Agent
1069
1069
  # @yieldreturn [Object] the new value of the Agent
1070
1070
  #
1071
1071
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#294
@@ -1088,15 +1088,15 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1088
1088
  # * {#send_via} and {#send_via!} are used when a specific executor is to
1089
1089
  # be used for the action
1090
1090
  #
1091
+ # @param action [Proc] the action dispatch to be enqueued
1091
1092
  # @param args [Array<Object>] zero or more arguments to be passed to
1092
1093
  # the action
1093
- # @param action [Proc] the action dispatch to be enqueued
1094
1094
  # @raise [Concurrent::Agent::Error] if the Agent is {#failed?}
1095
1095
  # @return [Boolean] true if the action is successfully enqueued
1096
1096
  # @yield [agent, value, *args] process the old value and return the new
1097
- # @yieldparam value [Object] the current {#value} of the Agent
1098
1097
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
1099
1098
  # action
1099
+ # @yieldparam value [Object] the current {#value} of the Agent
1100
1100
  # @yieldreturn [Object] the new value of the Agent
1101
1101
  #
1102
1102
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#302
@@ -1119,17 +1119,17 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1119
1119
  # * {#send_via} and {#send_via!} are used when a specific executor is to
1120
1120
  # be used for the action
1121
1121
  #
1122
+ # @param action [Proc] the action dispatch to be enqueued
1122
1123
  # @param args [Array<Object>] zero or more arguments to be passed to
1123
1124
  # the action
1124
- # @param action [Proc] the action dispatch to be enqueued
1125
1125
  # @param executor [Concurrent::ExecutorService] the executor on which the
1126
1126
  # action is to be dispatched
1127
1127
  # @return [Boolean] true if the action is successfully enqueued, false if
1128
1128
  # the Agent is {#failed?}
1129
1129
  # @yield [agent, value, *args] process the old value and return the new
1130
- # @yieldparam value [Object] the current {#value} of the Agent
1131
1130
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
1132
1131
  # action
1132
+ # @yieldparam value [Object] the current {#value} of the Agent
1133
1133
  # @yieldreturn [Object] the new value of the Agent
1134
1134
  #
1135
1135
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#311
@@ -1152,17 +1152,17 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1152
1152
  # * {#send_via} and {#send_via!} are used when a specific executor is to
1153
1153
  # be used for the action
1154
1154
  #
1155
+ # @param action [Proc] the action dispatch to be enqueued
1155
1156
  # @param args [Array<Object>] zero or more arguments to be passed to
1156
1157
  # the action
1157
- # @param action [Proc] the action dispatch to be enqueued
1158
1158
  # @param executor [Concurrent::ExecutorService] the executor on which the
1159
1159
  # action is to be dispatched
1160
1160
  # @raise [Concurrent::Agent::Error] if the Agent is {#failed?}
1161
1161
  # @return [Boolean] true if the action is successfully enqueued
1162
1162
  # @yield [agent, value, *args] process the old value and return the new
1163
- # @yieldparam value [Object] the current {#value} of the Agent
1164
1163
  # @yieldparam args [Array<Object>] zero or more arguments to pass to the
1165
1164
  # action
1165
+ # @yieldparam value [Object] the current {#value} of the Agent
1166
1166
  # @yieldreturn [Object] the new value of the Agent
1167
1167
  #
1168
1168
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#319
@@ -1173,7 +1173,7 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1173
1173
  # @return [Boolean]
1174
1174
  # @see #restart
1175
1175
  #
1176
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#402
1176
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#406
1177
1177
  def stopped?; end
1178
1178
 
1179
1179
  # The current value (state) of the Agent, irrespective of any pending or
@@ -1266,8 +1266,8 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1266
1266
  # Calling either {#await} or {#wait} (with a timeout of `nil`) will
1267
1267
  # hopelessly deadlock the Agent with no possibility of recovery.
1268
1268
  #
1269
- # @param timeout [Float] the maximum number of seconds to wait
1270
1269
  # @param agents [Array<Concurrent::Agent>] the Agents on which to wait
1270
+ # @param timeout [Float] the maximum number of seconds to wait
1271
1271
  # @return [Boolean] true if all actions complete before timeout else false
1272
1272
  #
1273
1273
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#463
@@ -1284,8 +1284,8 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject
1284
1284
  # Calling either {#await} or {#wait} (with a timeout of `nil`) will
1285
1285
  # hopelessly deadlock the Agent with no possibility of recovery.
1286
1286
  #
1287
- # @param timeout [Float] the maximum number of seconds to wait
1288
1287
  # @param agents [Array<Concurrent::Agent>] the Agents on which to wait
1288
+ # @param timeout [Float] the maximum number of seconds to wait
1289
1289
  # @raise [Concurrent::TimeoutError] when timeout is reached
1290
1290
  # @return [Boolean] true if all actions complete before timeout
1291
1291
  #
@@ -1324,52 +1324,77 @@ class Concurrent::Agent::Job < ::Struct
1324
1324
  # Returns the value of attribute action
1325
1325
  #
1326
1326
  # @return [Object] the current value of action
1327
+ #
1328
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1327
1329
  def action; end
1328
1330
 
1329
1331
  # Sets the attribute action
1330
1332
  #
1331
1333
  # @param value [Object] the value to set the attribute action to.
1332
1334
  # @return [Object] the newly set value
1335
+ #
1336
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1333
1337
  def action=(_); end
1334
1338
 
1335
1339
  # Returns the value of attribute args
1336
1340
  #
1337
1341
  # @return [Object] the current value of args
1342
+ #
1343
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1338
1344
  def args; end
1339
1345
 
1340
1346
  # Sets the attribute args
1341
1347
  #
1342
1348
  # @param value [Object] the value to set the attribute args to.
1343
1349
  # @return [Object] the newly set value
1350
+ #
1351
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1344
1352
  def args=(_); end
1345
1353
 
1346
1354
  # Returns the value of attribute caller
1347
1355
  #
1348
1356
  # @return [Object] the current value of caller
1357
+ #
1358
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1349
1359
  def caller; end
1350
1360
 
1351
1361
  # Sets the attribute caller
1352
1362
  #
1353
1363
  # @param value [Object] the value to set the attribute caller to.
1354
1364
  # @return [Object] the newly set value
1365
+ #
1366
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1355
1367
  def caller=(_); end
1356
1368
 
1357
1369
  # Returns the value of attribute executor
1358
1370
  #
1359
1371
  # @return [Object] the current value of executor
1372
+ #
1373
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1360
1374
  def executor; end
1361
1375
 
1362
1376
  # Sets the attribute executor
1363
1377
  #
1364
1378
  # @param value [Object] the value to set the attribute executor to.
1365
1379
  # @return [Object] the newly set value
1380
+ #
1381
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1366
1382
  def executor=(_); end
1367
1383
 
1368
1384
  class << self
1385
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1369
1386
  def [](*_arg0); end
1387
+
1388
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1370
1389
  def inspect; end
1390
+
1391
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1371
1392
  def keyword_init?; end
1393
+
1394
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1372
1395
  def members; end
1396
+
1397
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/agent.rb#163
1373
1398
  def new(*_arg0); end
1374
1399
  end
1375
1400
  end
@@ -1609,9 +1634,9 @@ Concurrent::ArrayImplementation = Array
1609
1634
  # horn.await.echo('two') # synchronous, blocking, thread-safe
1610
1635
  # # returns an IVar in the :complete state
1611
1636
  # @see Concurrent::Actor
1612
- # @see https://en.wikipedia.org/wiki/Actor_model "Actor Model" at Wikipedia
1613
- # @see http://www.erlang.org/doc/man/gen_server.html Erlang gen_server
1614
1637
  # @see http://c2.com/cgi/wiki?LetItCrash "Let It Crash" at http://c2.com/
1638
+ # @see http://www.erlang.org/doc/man/gen_server.html Erlang gen_server
1639
+ # @see https://en.wikipedia.org/wiki/Actor_model "Actor Model" at Wikipedia
1615
1640
  #
1616
1641
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/async.rb#217
1617
1642
  module Concurrent::Async
@@ -1674,7 +1699,7 @@ module Concurrent::Async
1674
1699
  # requested method
1675
1700
  # @return [Concurrent::IVar] the completed result of the synchronous operation
1676
1701
  #
1677
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/async.rb#430
1702
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/async.rb#433
1678
1703
  def call; end
1679
1704
 
1680
1705
  # Causes the chained method call to be performed asynchronously on the
@@ -1694,7 +1719,7 @@ module Concurrent::Async
1694
1719
  # the requested method
1695
1720
  # @return [Concurrent::IVar] the pending result of the asynchronous operation
1696
1721
  #
1697
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/async.rb#412
1722
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/async.rb#415
1698
1723
  def cast; end
1699
1724
 
1700
1725
  # Initialize the internal serializer and other stnchronization mechanisms.
@@ -1719,14 +1744,14 @@ module Concurrent::Async
1719
1744
  # if too few arguments are given but impossible to determine if too many
1720
1745
  # arguments are given. This check may also fail to recognize dynamic behavior
1721
1746
  # of the object, such as methods simulated with `method_missing`.
1722
- # @param obj [Object] the object to check against
1723
- # @param method [Symbol] the method to check the object for
1724
1747
  # @param args [Array] zero or more arguments for the arity check
1748
+ # @param method [Symbol] the method to check the object for
1749
+ # @param obj [Object] the object to check against
1725
1750
  # @raise [NameError] the object does not respond to `method` method
1726
1751
  # @raise [ArgumentError] the given `args` do not match the arity of `method`
1727
- # @see http://www.ruby-doc.org/core-2.1.1/Method.html#method-i-arity Method#arity
1728
1752
  # @see http://ruby-doc.org/core-2.1.0/Object.html#method-i-respond_to-3F Object#respond_to?
1729
1753
  # @see http://www.ruby-doc.org/core-2.1.0/BasicObject.html#method-i-method_missing BasicObject#method_missing
1754
+ # @see http://www.ruby-doc.org/core-2.1.1/Method.html#method-i-arity Method#arity
1730
1755
  #
1731
1756
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/async.rb#250
1732
1757
  def validate_argc(obj, method, *args); end
@@ -1747,8 +1772,8 @@ class Concurrent::Async::AsyncDelegator < ::Concurrent::Synchronization::Lockabl
1747
1772
 
1748
1773
  # Delegates method calls to the wrapped object.
1749
1774
  #
1750
- # @param method [Symbol] the method being called
1751
1775
  # @param args [Array] zero or more arguments to the method
1776
+ # @param method [Symbol] the method being called
1752
1777
  # @raise [NameError] the object does not respond to `method` method
1753
1778
  # @raise [ArgumentError] the given `args` do not match the arity of `method`
1754
1779
  # @return [IVar] the result of the method call
@@ -1792,8 +1817,8 @@ class Concurrent::Async::AwaitDelegator
1792
1817
 
1793
1818
  # Delegates method calls to the wrapped object.
1794
1819
  #
1795
- # @param method [Symbol] the method being called
1796
1820
  # @param args [Array] zero or more arguments to the method
1821
+ # @param method [Symbol] the method being called
1797
1822
  # @raise [NameError] the object does not respond to `method` method
1798
1823
  # @raise [ArgumentError] the given `args` do not match the arity of `method`
1799
1824
  # @return [IVar] the result of the method call
@@ -1910,15 +1935,15 @@ class Concurrent::Atom < ::Concurrent::Synchronization::Object
1910
1935
  # Create a new atom with the given initial value.
1911
1936
  #
1912
1937
  # @option opts
1913
- # @param value [Object] The initial value
1914
1938
  # @param opts [Hash] The options used to configure the atom
1939
+ # @param value [Object] The initial value
1915
1940
  # @raise [ArgumentError] if the validator is not a `Proc` (when given)
1916
1941
  # @return [Atom] a new instance of Atom
1917
1942
  #
1918
1943
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#121
1919
1944
  def initialize(value, opts = T.unsafe(nil)); end
1920
1945
 
1921
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#137
1946
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#99
1922
1947
  def __initialize_atomic_fields__; end
1923
1948
 
1924
1949
  # Atomically sets the value of atom to the new value if and only if the
@@ -1926,14 +1951,14 @@ class Concurrent::Atom < ::Concurrent::Synchronization::Object
1926
1951
  # value successfully validates against the (optional) validator given
1927
1952
  # at construction.
1928
1953
  #
1929
- # @param old_value [Object] The expected current value.
1930
1954
  # @param new_value [Object] The intended new value.
1955
+ # @param old_value [Object] The expected current value.
1931
1956
  # @return [Boolean] True if the value is changed else false.
1932
1957
  #
1933
1958
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#181
1934
1959
  def compare_and_set(old_value, new_value); end
1935
1960
 
1936
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
1961
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#102
1937
1962
  def deref; end
1938
1963
 
1939
1964
  # Atomically sets the value of atom to the new value without regard for the
@@ -1969,8 +1994,8 @@ class Concurrent::Atom < ::Concurrent::Synchronization::Object
1969
1994
  # validations are complete.
1970
1995
  # @yield [value, args] Calculates a new value for the atom based on the
1971
1996
  # current value and any supplied arguments.
1972
- # @yieldparam value [Object] The current value of the atom.
1973
1997
  # @yieldparam args [Object] All arguments passed to the function, in order.
1998
+ # @yieldparam value [Object] The current value of the atom.
1974
1999
  # @yieldreturn [Object] The intended new value of the atom.
1975
2000
  #
1976
2001
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#157
@@ -1980,18 +2005,18 @@ class Concurrent::Atom < ::Concurrent::Synchronization::Object
1980
2005
  #
1981
2006
  # @return [Object] The current value.
1982
2007
  #
1983
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
2008
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#99
1984
2009
  def value; end
1985
2010
 
1986
2011
  private
1987
2012
 
1988
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#105
2013
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#99
1989
2014
  def compare_and_set_value(expected, value); end
1990
2015
 
1991
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#101
2016
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#99
1992
2017
  def swap_value(value); end
1993
2018
 
1994
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#109
2019
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#99
1995
2020
  def update_value(&block); end
1996
2021
 
1997
2022
  # Is the new value valid?
@@ -2003,7 +2028,7 @@ class Concurrent::Atom < ::Concurrent::Synchronization::Object
2003
2028
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#216
2004
2029
  def valid?(new_value); end
2005
2030
 
2006
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#97
2031
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atom.rb#99
2007
2032
  def value=(value); end
2008
2033
  end
2009
2034
 
@@ -2065,7 +2090,7 @@ end
2065
2090
  class Concurrent::AtomicBoolean < ::Concurrent::MutexAtomicBoolean
2066
2091
  # @return [String] Short string representation.
2067
2092
  #
2068
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb#121
2093
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb#125
2069
2094
  def inspect; end
2070
2095
 
2071
2096
  # @return [String] Short string representation.
@@ -2149,7 +2174,7 @@ end
2149
2174
  class Concurrent::AtomicFixnum < ::Concurrent::MutexAtomicFixnum
2150
2175
  # @return [String] Short string representation.
2151
2176
  #
2152
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb#138
2177
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb#142
2153
2178
  def inspect; end
2154
2179
 
2155
2180
  # @return [String] Short string representation.
@@ -2175,7 +2200,7 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2175
2200
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#15
2176
2201
  def initialize(value = T.unsafe(nil), mark = T.unsafe(nil)); end
2177
2202
 
2178
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#137
2203
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#12
2179
2204
  def __initialize_atomic_fields__; end
2180
2205
 
2181
2206
  # Atomically sets the value and mark to the given updated value and
@@ -2186,10 +2211,10 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2186
2211
  # that the actual value was not equal to the expected value or the
2187
2212
  # actual mark was not equal to the expected mark
2188
2213
  #
2189
- # @param expected_val [Object] the expected value
2190
- # @param new_val [Object] the new value
2191
2214
  # @param expected_mark [Boolean] the expected mark
2215
+ # @param expected_val [Object] the expected value
2192
2216
  # @param new_mark [Boolean] the new mark
2217
+ # @param new_val [Object] the new value
2193
2218
  # @return [Boolean] `true` if successful. A `false` return indicates
2194
2219
  #
2195
2220
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#33
@@ -2203,13 +2228,13 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2203
2228
  # that the actual value was not equal to the expected value or the
2204
2229
  # actual mark was not equal to the expected mark
2205
2230
  #
2206
- # @param expected_val [Object] the expected value
2207
- # @param new_val [Object] the new value
2208
2231
  # @param expected_mark [Boolean] the expected mark
2232
+ # @param expected_val [Object] the expected value
2209
2233
  # @param new_mark [Boolean] the new mark
2234
+ # @param new_val [Object] the new value
2210
2235
  # @return [Boolean] `true` if successful. A `false` return indicates
2211
2236
  #
2212
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#33
2237
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#59
2213
2238
  def compare_and_swap(expected_val, new_val, expected_mark, new_mark); end
2214
2239
 
2215
2240
  # Gets the current reference and marked values.
@@ -2230,14 +2255,14 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2230
2255
  #
2231
2256
  # @return [Boolean] the current marked value
2232
2257
  #
2233
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#78
2258
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#82
2234
2259
  def marked?; end
2235
2260
 
2236
2261
  # _Unconditionally_ sets to the given value of both the reference and
2237
2262
  # the mark.
2238
2263
  #
2239
- # @param new_val [Object] the new value
2240
2264
  # @param new_mark [Boolean] the new mark
2265
+ # @param new_val [Object] the new value
2241
2266
  # @return [Array] both the new value and the new mark
2242
2267
  #
2243
2268
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#91
@@ -2251,8 +2276,8 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2251
2276
  # @return [Array] the new value and marked state, or nil if
2252
2277
  # @yield [Object] Calculate a new value and marked state for the atomic
2253
2278
  # reference using given (old) value and (old) marked
2254
- # @yieldparam old_val [Object] the starting value of the atomic reference
2255
2279
  # @yieldparam old_mark [Boolean] the starting state of marked
2280
+ # @yieldparam old_val [Object] the starting value of the atomic reference
2256
2281
  #
2257
2282
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#152
2258
2283
  def try_update; end
@@ -2265,8 +2290,8 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2265
2290
  # @return [Array] the new value and marked state
2266
2291
  # @yield [Object] Calculate a new value and marked state for the atomic
2267
2292
  # reference using given (old) value and (old) marked
2268
- # @yieldparam old_val [Object] the starting value of the atomic reference
2269
2293
  # @yieldparam old_mark [Boolean] the starting state of marked
2294
+ # @yieldparam old_val [Object] the starting value of the atomic reference
2270
2295
  #
2271
2296
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#128
2272
2297
  def try_update!; end
@@ -2278,8 +2303,8 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2278
2303
  # @return [Array] the new value and new mark
2279
2304
  # @yield [Object] Calculate a new value and marked state for the atomic
2280
2305
  # reference using given (old) value and (old) marked
2281
- # @yieldparam old_val [Object] the starting value of the atomic reference
2282
2306
  # @yieldparam old_mark [Boolean] the starting state of marked
2307
+ # @yieldparam old_val [Object] the starting value of the atomic reference
2283
2308
  #
2284
2309
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#105
2285
2310
  def update; end
@@ -2293,22 +2318,22 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec
2293
2318
 
2294
2319
  private
2295
2320
 
2296
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#105
2321
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#12
2297
2322
  def compare_and_set_reference(expected, value); end
2298
2323
 
2299
2324
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#163
2300
2325
  def immutable_array(*args); end
2301
2326
 
2302
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
2327
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#12
2303
2328
  def reference; end
2304
2329
 
2305
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#97
2330
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#12
2306
2331
  def reference=(value); end
2307
2332
 
2308
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#101
2333
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#12
2309
2334
  def swap_reference(value); end
2310
2335
 
2311
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#109
2336
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb#12
2312
2337
  def update_reference(&block); end
2313
2338
  end
2314
2339
 
@@ -2321,8 +2346,8 @@ module Concurrent::AtomicNumericCompareAndSetWrapper
2321
2346
  #
2322
2347
  # that the actual value was not equal to the expected value.
2323
2348
  #
2324
- # @param old_value [Object] the expected value
2325
2349
  # @param new_value [Object] the new value
2350
+ # @param old_value [Object] the expected value
2326
2351
  # @return [Boolean] `true` if successful. A `false` return indicates
2327
2352
  #
2328
2353
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
@@ -2372,7 +2397,7 @@ end
2372
2397
  class Concurrent::AtomicReference < ::Concurrent::MutexAtomicReference
2373
2398
  # @return [String] Short string representation.
2374
2399
  #
2375
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#129
2400
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb#133
2376
2401
  def inspect; end
2377
2402
 
2378
2403
  # @return [String] Short string representation.
@@ -2386,195 +2411,195 @@ Concurrent::AtomicReferenceImplementation = Concurrent::MutexAtomicReference
2386
2411
 
2387
2412
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#30
2388
2413
  class Concurrent::CRubySet < ::Set
2389
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#18
2414
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2390
2415
  def initialize(*args, &block); end
2391
2416
 
2392
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2417
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2393
2418
  def &(*args); end
2394
2419
 
2395
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2420
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2396
2421
  def +(*args); end
2397
2422
 
2398
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2423
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2399
2424
  def -(*args); end
2400
2425
 
2401
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2426
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2402
2427
  def <(*args); end
2403
2428
 
2404
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2429
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2405
2430
  def <<(*args); end
2406
2431
 
2407
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2432
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2408
2433
  def <=(*args); end
2409
2434
 
2410
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2435
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2411
2436
  def <=>(*args); end
2412
2437
 
2413
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2438
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2414
2439
  def ==(*args); end
2415
2440
 
2416
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2441
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2417
2442
  def ===(*args); end
2418
2443
 
2419
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2444
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2420
2445
  def >(*args); end
2421
2446
 
2422
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2447
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2423
2448
  def >=(*args); end
2424
2449
 
2425
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2450
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2426
2451
  def ^(*args); end
2427
2452
 
2428
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2453
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2429
2454
  def add(*args); end
2430
2455
 
2431
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2456
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2432
2457
  def add?(*args); end
2433
2458
 
2434
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2459
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2435
2460
  def classify(*args); end
2436
2461
 
2437
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2462
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2438
2463
  def clear(*args); end
2439
2464
 
2440
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2465
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2441
2466
  def collect!(*args); end
2442
2467
 
2443
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2468
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2444
2469
  def compare_by_identity(*args); end
2445
2470
 
2446
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2471
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2447
2472
  def compare_by_identity?(*args); end
2448
2473
 
2449
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2474
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2450
2475
  def delete(*args); end
2451
2476
 
2452
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2477
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2453
2478
  def delete?(*args); end
2454
2479
 
2455
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2480
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2456
2481
  def delete_if(*args); end
2457
2482
 
2458
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2483
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2459
2484
  def difference(*args); end
2460
2485
 
2461
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2486
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2462
2487
  def disjoint?(*args); end
2463
2488
 
2464
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2489
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2465
2490
  def divide(*args); end
2466
2491
 
2467
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2492
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2468
2493
  def each(*args); end
2469
2494
 
2470
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2495
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2471
2496
  def empty?(*args); end
2472
2497
 
2473
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2498
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2474
2499
  def eql?(*args); end
2475
2500
 
2476
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2501
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2477
2502
  def filter!(*args); end
2478
2503
 
2479
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2504
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2480
2505
  def flatten(*args); end
2481
2506
 
2482
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2507
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2483
2508
  def flatten!(*args); end
2484
2509
 
2485
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2510
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2486
2511
  def flatten_merge(*args); end
2487
2512
 
2488
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2513
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2489
2514
  def freeze(*args); end
2490
2515
 
2491
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2516
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2492
2517
  def hash(*args); end
2493
2518
 
2494
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2519
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2495
2520
  def include?(*args); end
2496
2521
 
2497
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2522
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2498
2523
  def inspect(*args); end
2499
2524
 
2500
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2525
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2501
2526
  def intersect?(*args); end
2502
2527
 
2503
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2528
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2504
2529
  def intersection(*args); end
2505
2530
 
2506
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2531
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2507
2532
  def join(*args); end
2508
2533
 
2509
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2534
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2510
2535
  def keep_if(*args); end
2511
2536
 
2512
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2537
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2513
2538
  def length(*args); end
2514
2539
 
2515
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2540
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2516
2541
  def map!(*args); end
2517
2542
 
2518
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2543
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2519
2544
  def member?(*args); end
2520
2545
 
2521
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2546
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2522
2547
  def merge(*args); end
2523
2548
 
2524
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2549
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2525
2550
  def pretty_print(*args); end
2526
2551
 
2527
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2552
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2528
2553
  def pretty_print_cycle(*args); end
2529
2554
 
2530
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2555
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2531
2556
  def proper_subset?(*args); end
2532
2557
 
2533
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2558
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2534
2559
  def proper_superset?(*args); end
2535
2560
 
2536
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2561
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2537
2562
  def reject!(*args); end
2538
2563
 
2539
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2564
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2540
2565
  def replace(*args); end
2541
2566
 
2542
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2567
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2543
2568
  def reset(*args); end
2544
2569
 
2545
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2570
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2546
2571
  def select!(*args); end
2547
2572
 
2548
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2573
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2549
2574
  def size(*args); end
2550
2575
 
2551
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2576
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2552
2577
  def subset?(*args); end
2553
2578
 
2554
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2579
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2555
2580
  def subtract(*args); end
2556
2581
 
2557
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2582
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2558
2583
  def superset?(*args); end
2559
2584
 
2560
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2585
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2561
2586
  def to_a(*args); end
2562
2587
 
2563
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2588
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2564
2589
  def to_s(*args); end
2565
2590
 
2566
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2591
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2567
2592
  def to_set(*args); end
2568
2593
 
2569
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2594
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2570
2595
  def union(*args); end
2571
2596
 
2572
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#32
2597
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2573
2598
  def |(*args); end
2574
2599
 
2575
2600
  private
2576
2601
 
2577
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb#23
2602
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/set.rb#33
2578
2603
  def initialize_copy(other); end
2579
2604
  end
2580
2605
 
@@ -2940,30 +2965,30 @@ end
2940
2965
  # When running under all other interpreters it extends `RubyNonConcurrentPriorityQueue`.
2941
2966
  #
2942
2967
  # @note This implementation is *not* thread safe.
2943
- # @see http://en.wikipedia.org/wiki/Priority_queue
2944
- # @see http://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/Queue.html
2945
- # @see http://algs4.cs.princeton.edu/24pq/index.php#2.6
2946
2968
  # @see http://algs4.cs.princeton.edu/24pq/MaxPQ.java.html
2969
+ # @see http://algs4.cs.princeton.edu/24pq/index.php#2.6
2947
2970
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html
2971
+ # @see http://en.wikipedia.org/wiki/Priority_queue
2972
+ # @see http://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/Queue.html
2948
2973
  #
2949
2974
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#50
2950
2975
  class Concurrent::Collection::NonConcurrentPriorityQueue < ::Concurrent::Collection::RubyNonConcurrentPriorityQueue
2951
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
2976
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#59
2952
2977
  def <<(item); end
2953
2978
 
2954
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
2979
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#56
2955
2980
  def deq; end
2956
2981
 
2957
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
2982
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#60
2958
2983
  def enq(item); end
2959
2984
 
2960
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#48
2985
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#52
2961
2986
  def has_priority?(item); end
2962
2987
 
2963
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
2988
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#57
2964
2989
  def shift; end
2965
2990
 
2966
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#54
2991
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb#54
2967
2992
  def size; end
2968
2993
  end
2969
2994
 
@@ -2990,11 +3015,11 @@ Concurrent::Collection::NonConcurrentPriorityQueueImplementation = Concurrent::C
2990
3015
  # When running under all other interpreters it extends `RubyNonConcurrentPriorityQueue`.
2991
3016
  #
2992
3017
  # @note This implementation is *not* thread safe.
2993
- # @see http://en.wikipedia.org/wiki/Priority_queue
2994
- # @see http://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/Queue.html
2995
- # @see http://algs4.cs.princeton.edu/24pq/index.php#2.6
2996
3018
  # @see http://algs4.cs.princeton.edu/24pq/MaxPQ.java.html
3019
+ # @see http://algs4.cs.princeton.edu/24pq/index.php#2.6
2997
3020
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html
3021
+ # @see http://en.wikipedia.org/wiki/Priority_queue
3022
+ # @see http://ruby-doc.org/stdlib-2.0.0/libdoc/thread/rdoc/Queue.html
2998
3023
  #
2999
3024
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#8
3000
3025
  class Concurrent::Collection::RubyNonConcurrentPriorityQueue
@@ -3012,7 +3037,7 @@ class Concurrent::Collection::RubyNonConcurrentPriorityQueue
3012
3037
  # @param item [Object] the item to insert onto the queue
3013
3038
  # @raise [ArgumentError]
3014
3039
  #
3015
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
3040
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#85
3016
3041
  def <<(item); end
3017
3042
 
3018
3043
  # Removes all of the elements from this priority queue.
@@ -3033,7 +3058,7 @@ class Concurrent::Collection::RubyNonConcurrentPriorityQueue
3033
3058
  #
3034
3059
  # @return [Object] the head of the queue or `nil` when empty
3035
3060
  #
3036
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
3061
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#74
3037
3062
  def deq; end
3038
3063
 
3039
3064
  # Returns `true` if `self` contains no elements.
@@ -3048,7 +3073,7 @@ class Concurrent::Collection::RubyNonConcurrentPriorityQueue
3048
3073
  # @param item [Object] the item to insert onto the queue
3049
3074
  # @raise [ArgumentError]
3050
3075
  #
3051
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#78
3076
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#86
3052
3077
  def enq(item); end
3053
3078
 
3054
3079
  # Returns `true` if the given item is present in `self` (that is, if any
@@ -3057,7 +3082,7 @@ class Concurrent::Collection::RubyNonConcurrentPriorityQueue
3057
3082
  # @param item [Object] the item to search for
3058
3083
  # @return [Boolean] true if the item is found else false
3059
3084
  #
3060
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#48
3085
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#51
3061
3086
  def has_priority?(item); end
3062
3087
 
3063
3088
  # Returns `true` if the given item is present in `self` (that is, if any
@@ -3105,14 +3130,14 @@ class Concurrent::Collection::RubyNonConcurrentPriorityQueue
3105
3130
  #
3106
3131
  # @return [Object] the head of the queue or `nil` when empty
3107
3132
  #
3108
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#65
3133
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#75
3109
3134
  def shift; end
3110
3135
 
3111
3136
  # The current length of the queue.
3112
3137
  #
3113
3138
  # @return [Fixnum] the number of items in the queue
3114
3139
  #
3115
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#54
3140
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb#57
3116
3141
  def size; end
3117
3142
 
3118
3143
  private
@@ -3187,7 +3212,7 @@ module Concurrent::Concern::Dereferenceable
3187
3212
  #
3188
3213
  # @return [Object] the current value of the object
3189
3214
  #
3190
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#21
3215
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/dereferenceable.rb#24
3191
3216
  def deref; end
3192
3217
 
3193
3218
  # Return the value this object represents after applying the options specified
@@ -3246,8 +3271,8 @@ module Concurrent::Concern::Logging
3246
3271
  # Logs through {Concurrent.global_logger}, it can be overridden by setting @logger
3247
3272
  #
3248
3273
  # @param level [Integer] one of Concurrent::Concern::Logging constants
3249
- # @param progname [String] e.g. a path of an Actor
3250
3274
  # @param message [String, nil] when nil block is used to generate the message
3275
+ # @param progname [String] e.g. a path of an Actor
3251
3276
  # @yieldreturn [String] a message
3252
3277
  #
3253
3278
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/logging.rb#19
@@ -3315,7 +3340,7 @@ module Concurrent::Concern::Obligation
3315
3340
  # @raise [Exception] raises the reason when rejected
3316
3341
  # @return [Obligation] self
3317
3342
  #
3318
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#86
3343
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#89
3319
3344
  def no_error!(timeout = T.unsafe(nil)); end
3320
3345
 
3321
3346
  # Is obligation completion still pending?
@@ -3329,7 +3354,7 @@ module Concurrent::Concern::Obligation
3329
3354
  #
3330
3355
  # @return [Boolean]
3331
3356
  #
3332
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#20
3357
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#23
3333
3358
  def realized?; end
3334
3359
 
3335
3360
  # If an exception was raised during processing this will return the
@@ -3406,8 +3431,8 @@ module Concurrent::Concern::Obligation
3406
3431
  # Atomic compare and set operation
3407
3432
  # State is set to `next_state` only if `current state == expected_current`.
3408
3433
  #
3409
- # @param next_state [Symbol]
3410
3434
  # @param expected_current [Symbol]
3435
+ # @param next_state [Symbol]
3411
3436
  # @return [Boolean] true is state is changed, false otherwise
3412
3437
  #
3413
3438
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/obligation.rb#174
@@ -3496,9 +3521,9 @@ module Concurrent::Concern::Observable
3496
3521
  # Adds an observer to this set. If a block is passed, the observer will be
3497
3522
  # created by this method and no other params should be passed.
3498
3523
  #
3499
- # @param observer [Object] the observer to add
3500
3524
  # @param func [Symbol] the function to call on the observer during notification.
3501
3525
  # Default is :update
3526
+ # @param observer [Object] the observer to add
3502
3527
  # @return [Object] the added observer
3503
3528
  #
3504
3529
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#61
@@ -3529,8 +3554,8 @@ module Concurrent::Concern::Observable
3529
3554
 
3530
3555
  # As `#add_observer` but can be used for chaining.
3531
3556
  #
3532
- # @param observer [Object] the observer to add
3533
3557
  # @param func [Symbol] the function to call on the observer during notification.
3558
+ # @param observer [Object] the observer to add
3534
3559
  # @return [Observable] self
3535
3560
  #
3536
3561
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/concern/observable.rb#70
@@ -3699,19 +3724,32 @@ class Concurrent::CyclicBarrier::Generation < ::Struct
3699
3724
  # Returns the value of attribute status
3700
3725
  #
3701
3726
  # @return [Object] the current value of status
3727
+ #
3728
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3702
3729
  def status; end
3703
3730
 
3704
3731
  # Sets the attribute status
3705
3732
  #
3706
3733
  # @param value [Object] the value to set the attribute status to.
3707
3734
  # @return [Object] the newly set value
3735
+ #
3736
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3708
3737
  def status=(_); end
3709
3738
 
3710
3739
  class << self
3740
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3711
3741
  def [](*_arg0); end
3742
+
3743
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3712
3744
  def inspect; end
3745
+
3746
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3713
3747
  def keyword_init?; end
3748
+
3749
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3714
3750
  def members; end
3751
+
3752
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb#30
3715
3753
  def new(*_arg0); end
3716
3754
  end
3717
3755
  end
@@ -4179,9 +4217,9 @@ end
4179
4217
  #
4180
4218
  # @note Failure to properly shutdown a thread pool can lead to unpredictable results.
4181
4219
  # Please read *Shutting Down Thread Pools* for more information.
4182
- # @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
4183
4220
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html Java Executors class
4184
4221
  # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html Java ExecutorService interface
4222
+ # @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
4185
4223
  # @see https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#setDaemon-boolean-
4186
4224
  #
4187
4225
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb#201
@@ -4202,9 +4240,9 @@ end
4202
4240
 
4203
4241
  # {include:file:docs-source/future.md}
4204
4242
  #
4205
- # @see http://ruby-doc.org/stdlib-2.1.1/libdoc/observer/rdoc/Observable.html Ruby Observable module
4206
4243
  # @see http://clojuredocs.org/clojure_core/clojure.core/future Clojure's future function
4207
4244
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Future.html java.util.concurrent.Future
4245
+ # @see http://ruby-doc.org/stdlib-2.1.1/libdoc/observer/rdoc/Observable.html Ruby Observable module
4208
4246
  #
4209
4247
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/future.rb#21
4210
4248
  class Concurrent::Future < ::Concurrent::IVar
@@ -4239,14 +4277,14 @@ class Concurrent::Future < ::Concurrent::IVar
4239
4277
  # passes the block to a new thread/thread pool for eventual execution.
4240
4278
  # Does nothing if the `Future` is in any state other than `:unscheduled`.
4241
4279
  #
4280
+ # @example Instance and execute in one line
4281
+ # future = Concurrent::Future.new{ sleep(1); 42 }.execute
4282
+ # future.state #=> :pending
4242
4283
  # @example Instance and execute in separate steps
4243
4284
  # future = Concurrent::Future.new{ sleep(1); 42 }
4244
4285
  # future.state #=> :unscheduled
4245
4286
  # future.execute
4246
4287
  # future.state #=> :pending
4247
- # @example Instance and execute in one line
4248
- # future = Concurrent::Future.new{ sleep(1); 42 }.execute
4249
- # future.state #=> :pending
4250
4288
  # @return [Future] a reference to `self`
4251
4289
  #
4252
4290
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/future.rb#53
@@ -4365,8 +4403,8 @@ class Concurrent::IVar < ::Concurrent::Synchronization::LockableObject
4365
4403
  # @option opts
4366
4404
  # @option opts
4367
4405
  # @option opts
4368
- # @param value [Object] the initial value
4369
4406
  # @param opts [Hash] the options to create a message with
4407
+ # @param value [Object] the initial value
4370
4408
  # @return [IVar] a new instance of IVar
4371
4409
  #
4372
4410
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#62
@@ -4380,9 +4418,9 @@ class Concurrent::IVar < ::Concurrent::Synchronization::LockableObject
4380
4418
  # final `value` (or `nil` on rejection), and the final `reason` (or `nil` on
4381
4419
  # fulfillment).
4382
4420
  #
4383
- # @param observer [Object] the object that will be notified of changes
4384
4421
  # @param func [Symbol] symbol naming the method to call when this
4385
4422
  # `Observable` has changes`
4423
+ # @param observer [Object] the object that will be notified of changes
4386
4424
  # @raise [ArgumentError]
4387
4425
  #
4388
4426
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#81
@@ -4489,7 +4527,7 @@ class Concurrent::ImmediateExecutor < ::Concurrent::AbstractExecutorService
4489
4527
  # but no new tasks will be accepted. Has no additional effect if the
4490
4528
  # thread pool is not running.
4491
4529
  #
4492
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#55
4530
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/immediate_executor.rb#59
4493
4531
  def kill; end
4494
4532
 
4495
4533
  # Submit a task to the executor for asynchronous processing.
@@ -4577,13 +4615,13 @@ module Concurrent::ImmutableStruct
4577
4615
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#68
4578
4616
  def select(&block); end
4579
4617
 
4580
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#17
4618
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#21
4581
4619
  def to_a; end
4582
4620
 
4583
4621
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#41
4584
4622
  def to_h; end
4585
4623
 
4586
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#29
4624
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#33
4587
4625
  def to_s; end
4588
4626
 
4589
4627
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/immutable_struct.rb#17
@@ -4670,7 +4708,7 @@ class Concurrent::LockFreeStack < ::Concurrent::Synchronization::Object
4670
4708
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#51
4671
4709
  def initialize(head = T.unsafe(nil)); end
4672
4710
 
4673
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#137
4711
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#37
4674
4712
  def __initialize_atomic_fields__; end
4675
4713
 
4676
4714
  # @return [true, false]
@@ -4724,7 +4762,7 @@ class Concurrent::LockFreeStack < ::Concurrent::Synchronization::Object
4724
4762
 
4725
4763
  # @return [String] Short string representation.
4726
4764
  #
4727
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#154
4765
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#158
4728
4766
  def inspect; end
4729
4767
 
4730
4768
  # @return [Node]
@@ -4757,19 +4795,19 @@ class Concurrent::LockFreeStack < ::Concurrent::Synchronization::Object
4757
4795
 
4758
4796
  private
4759
4797
 
4760
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#105
4798
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#37
4761
4799
  def compare_and_set_head(expected, value); end
4762
4800
 
4763
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
4801
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#37
4764
4802
  def head; end
4765
4803
 
4766
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#97
4804
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#37
4767
4805
  def head=(value); end
4768
4806
 
4769
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#101
4807
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#37
4770
4808
  def swap_head(value); end
4771
4809
 
4772
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#109
4810
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#37
4773
4811
  def update_head(&block); end
4774
4812
 
4775
4813
  class << self
@@ -4809,6 +4847,7 @@ class Concurrent::LockFreeStack::Node
4809
4847
  def value=(_arg0); end
4810
4848
 
4811
4849
  class << self
4850
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb#28
4812
4851
  def [](*_arg0); end
4813
4852
  end
4814
4853
  end
@@ -4994,7 +5033,7 @@ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
4994
5033
  # @yieldparam key [Object]
4995
5034
  # @yieldparam value [Object]
4996
5035
  #
4997
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#274
5036
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#279
4998
5037
  def each; end
4999
5038
 
5000
5039
  # Iterates over each key.
@@ -5052,8 +5091,8 @@ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
5052
5091
  # between the fetch operation and yielding to the block. Additionally,
5053
5092
  # this method does not support recursion. This is due to internal
5054
5093
  # constraints that are very unlikely to change in the near future.
5055
- # @param key [Object]
5056
5094
  # @param default_value [Object]
5095
+ # @param key [Object]
5057
5096
  # @raise [KeyError] when key is missing and no default_value is provided
5058
5097
  # @return [Object] the value or default value
5059
5098
  # @yield default value for a key
@@ -5068,8 +5107,8 @@ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
5068
5107
  # therefore not atomic. The store can overwrite other concurrently
5069
5108
  # stored value.
5070
5109
  #
5071
- # @param key [Object]
5072
5110
  # @param default_value [Object]
5111
+ # @param key [Object]
5073
5112
  # @return [Object] the value or default value
5074
5113
  # @yield default value for a key
5075
5114
  # @yieldparam key [Object]
@@ -5083,7 +5122,7 @@ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
5083
5122
  # @param key [Object]
5084
5123
  # @return [Object] the value
5085
5124
  #
5086
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#21
5125
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#162
5087
5126
  def get(key); end
5088
5127
 
5089
5128
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#321
@@ -5118,7 +5157,7 @@ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
5118
5157
  # @param value [Object]
5119
5158
  # @return [Object] the new value
5120
5159
  #
5121
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#17
5160
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#163
5122
5161
  def put(key, value); end
5123
5162
 
5124
5163
  # Insert value into map with key if key is absent in one atomic step.
@@ -5263,8 +5302,8 @@ class Concurrent::MaxRestartFrequencyError < ::Concurrent::Error; end
5263
5302
  # # In a Rails controller...
5264
5303
  # result = ClientService.new(10).find # returns a Maybe
5265
5304
  # render json: result.or(NullClient.new)
5266
- # @see https://hackage.haskell.org/package/base-4.2.0.1/docs/Data-Maybe.html Haskell Data.Maybe
5267
5305
  # @see https://github.com/purescript/purescript-maybe/blob/master/docs/Data.Maybe.md PureScript Data.Maybe
5306
+ # @see https://hackage.haskell.org/package/base-4.2.0.1/docs/Data-Maybe.html Haskell Data.Maybe
5268
5307
  #
5269
5308
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#104
5270
5309
  class Concurrent::Maybe < ::Concurrent::Synchronization::Object
@@ -5294,7 +5333,7 @@ class Concurrent::Maybe < ::Concurrent::Synchronization::Object
5294
5333
  #
5295
5334
  # @return [Boolean] True if `Just` or false if `Nothing`.
5296
5335
  #
5297
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#176
5336
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#179
5298
5337
  def fulfilled?; end
5299
5338
 
5300
5339
  # The value of a `Maybe` when `Just`. Will be `NONE` when `Nothing`.
@@ -5330,19 +5369,19 @@ class Concurrent::Maybe < ::Concurrent::Synchronization::Object
5330
5369
 
5331
5370
  # The reason for the `Maybe` when `Nothing`. Will be `NONE` when `Just`.
5332
5371
  #
5333
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#117
5372
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#191
5334
5373
  def reason; end
5335
5374
 
5336
5375
  # Is this `Maybe` a `nothing` (rejected with an exception upon fulfillment)?
5337
5376
  #
5338
5377
  # @return [Boolean] True if `Nothing` or false if `Just`.
5339
5378
  #
5340
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#184
5379
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#187
5341
5380
  def rejected?; end
5342
5381
 
5343
5382
  # The value of a `Maybe` when `Just`. Will be `NONE` when `Nothing`.
5344
5383
  #
5345
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#114
5384
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#189
5346
5385
  def value; end
5347
5386
 
5348
5387
  class << self
@@ -5385,7 +5424,7 @@ class Concurrent::Maybe < ::Concurrent::Synchronization::Object
5385
5424
 
5386
5425
  private
5387
5426
 
5388
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb#29
5427
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/maybe.rb#119
5389
5428
  def new(*args, &block); end
5390
5429
  end
5391
5430
  end
@@ -5509,8 +5548,8 @@ module Concurrent::MutableStruct
5509
5548
  # @return [Synchronization::AbstractStruct] a new struct with the new values
5510
5549
  # @yield an options block for resolving duplicate keys
5511
5550
  # @yieldparam member [String, Symbol] the name of the member which is duplicated
5512
- # @yieldparam selfvalue [Object] the value of the member in `self`
5513
5551
  # @yieldparam othervalue [Object] the value of the member in `other`
5552
+ # @yieldparam selfvalue [Object] the value of the member in `self`
5514
5553
  #
5515
5554
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/mutable_struct.rb#94
5516
5555
  def merge(other, &block); end
@@ -5530,7 +5569,7 @@ module Concurrent::MutableStruct
5530
5569
  #
5531
5570
  # @return [Array] the values for this struct
5532
5571
  #
5533
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/mutable_struct.rb#51
5572
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/mutable_struct.rb#54
5534
5573
  def to_a; end
5535
5574
 
5536
5575
  # Returns a hash containing the names and values for the struct’s members.
@@ -5544,7 +5583,7 @@ module Concurrent::MutableStruct
5544
5583
  #
5545
5584
  # @return [String] the contents of this struct in a string
5546
5585
  #
5547
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/mutable_struct.rb#72
5586
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/mutable_struct.rb#75
5548
5587
  def to_s; end
5549
5588
 
5550
5589
  # Returns the values for this struct as an Array.
@@ -5817,7 +5856,7 @@ class Concurrent::MutexAtomicFixnum
5817
5856
  # @param delta [Fixnum] the amount by which to decrease the current value
5818
5857
  # @return [Fixnum] the current value after decrementation
5819
5858
  #
5820
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb#37
5859
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb#41
5821
5860
  def down(delta = T.unsafe(nil)); end
5822
5861
 
5823
5862
  # Increases the current value by the given amount (defaults to 1).
@@ -5833,7 +5872,7 @@ class Concurrent::MutexAtomicFixnum
5833
5872
  # @param delta [Fixnum] the amount by which to increase the current value
5834
5873
  # @return [Fixnum] the current value after incrementation
5835
5874
  #
5836
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb#30
5875
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb#34
5837
5876
  def up(delta = T.unsafe(nil)); end
5838
5877
 
5839
5878
  # Pass the current value to the given block, replacing it
@@ -5892,14 +5931,14 @@ class Concurrent::MutexAtomicReference
5892
5931
  #
5893
5932
  # that the actual value was not equal to the expected value.
5894
5933
  #
5895
- # @param old_value [Object] the expected value
5896
5934
  # @param new_value [Object] the new value
5935
+ # @param old_value [Object] the expected value
5897
5936
  # @return [Boolean] `true` if successful. A `false` return indicates
5898
5937
  #
5899
5938
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#45
5900
5939
  def _compare_and_set(old_value, new_value); end
5901
5940
 
5902
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb#10
5941
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#13
5903
5942
  def compare_and_swap(old_value, new_value); end
5904
5943
 
5905
5944
  # Gets the current value.
@@ -5930,14 +5969,14 @@ class Concurrent::MutexAtomicReference
5930
5969
  # @param new_value [Object] the new value
5931
5970
  # @return [Object] the old value
5932
5971
  #
5933
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#35
5972
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#42
5934
5973
  def swap(new_value); end
5935
5974
 
5936
5975
  # Gets the current value.
5937
5976
  #
5938
5977
  # @return [Object] the current value
5939
5978
  #
5940
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#23
5979
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#26
5941
5980
  def value; end
5942
5981
 
5943
5982
  # Sets to the given value.
@@ -5945,7 +5984,7 @@ class Concurrent::MutexAtomicReference
5945
5984
  # @param new_value [Object] the new value
5946
5985
  # @return [Object] the new value
5947
5986
  #
5948
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#29
5987
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb#32
5949
5988
  def value=(new_value); end
5950
5989
 
5951
5990
  protected
@@ -6266,8 +6305,8 @@ class Concurrent::Promise < ::Concurrent::IVar
6266
6305
  # @param opts [Hash] a customizable set of options
6267
6306
  # @raise [ArgumentError] if no block is given
6268
6307
  # @return [Promise] a new instance of Promise
6269
- # @see http://wiki.commonjs.org/wiki/Promises/A
6270
6308
  # @see http://promises-aplus.github.io/promises-spec/
6309
+ # @see http://wiki.commonjs.org/wiki/Promises/A
6271
6310
  # @yield The block operation to be performed asynchronously.
6272
6311
  #
6273
6312
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promise.rb#210
@@ -6279,7 +6318,7 @@ class Concurrent::Promise < ::Concurrent::IVar
6279
6318
  # @return [Promise] self
6280
6319
  # @yield The block to execute
6281
6320
  #
6282
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promise.rb#360
6321
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promise.rb#364
6283
6322
  def catch(&block); end
6284
6323
 
6285
6324
  # Execute an `:unscheduled` `Promise`. Immediately sets the state to `:pending` and
@@ -6319,7 +6358,7 @@ class Concurrent::Promise < ::Concurrent::IVar
6319
6358
  # @return [Promise] self
6320
6359
  # @yield The block to execute
6321
6360
  #
6322
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promise.rb#360
6361
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promise.rb#365
6323
6362
  def on_error(&block); end
6324
6363
 
6325
6364
  # Chain onto this promise an action to be undertaken on success
@@ -6552,7 +6591,7 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6552
6591
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#522
6553
6592
  def initialize(promise, default_executor); end
6554
6593
 
6555
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#137
6594
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#515
6556
6595
  def __initialize_atomic_fields__; end
6557
6596
 
6558
6597
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#738
@@ -6583,12 +6622,12 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6583
6622
 
6584
6623
  # Chains the task to be executed asynchronously on executor after it is resolved.
6585
6624
  #
6586
- # @overload an_event.chain_on
6587
6625
  # @overload a_future.chain_on
6588
- # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
6589
- # global executor. The task is executed on it, default executor remains unchanged.
6626
+ # @overload an_event.chain_on
6590
6627
  # @param args [Object] arguments which are passed to the task when it's executed.
6591
6628
  # (It might be prepended with other arguments, see the @yield section).
6629
+ # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
6630
+ # global executor. The task is executed on it, default executor remains unchanged.
6592
6631
  # @return [Future]
6593
6632
  # @yieldreturn will become result of the returned Future.
6594
6633
  # Its returned value becomes {Future#value} fulfilling it,
@@ -6609,9 +6648,9 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6609
6648
  #
6610
6649
  # @return [Executor] default executor
6611
6650
  # @see #with_default_executor
6651
+ # @see FactoryMethods#any_fulfilled_future_on
6612
6652
  # @see FactoryMethods#future_on
6613
6653
  # @see FactoryMethods#resolvable_future
6614
- # @see FactoryMethods#any_fulfilled_future_on
6615
6654
  # @see similar
6616
6655
  #
6617
6656
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#590
@@ -6619,10 +6658,10 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6619
6658
 
6620
6659
  # @return [String] Short string representation.
6621
6660
  #
6622
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#619
6661
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#623
6623
6662
  def inspect; end
6624
6663
 
6625
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
6664
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#515
6626
6665
  def internal_state; end
6627
6666
 
6628
6667
  # Shortcut of {#on_resolution_using} with default `:io` executor supplied.
@@ -6636,8 +6675,8 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6636
6675
  # Stores the callback to be executed synchronously on resolving thread after it is
6637
6676
  # resolved.
6638
6677
  #
6639
- # @overload an_event.on_resolution!
6640
6678
  # @overload a_future.on_resolution!
6679
+ # @overload an_event.on_resolution!
6641
6680
  # @param args [Object] arguments which are passed to the task when it's executed.
6642
6681
  # (It might be prepended with other arguments, see the @yield section).
6643
6682
  # @return [self]
@@ -6648,12 +6687,12 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6648
6687
 
6649
6688
  # Stores the callback to be executed asynchronously on executor after it is resolved.
6650
6689
  #
6651
- # @overload an_event.on_resolution_using
6652
6690
  # @overload a_future.on_resolution_using
6653
- # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
6654
- # global executor. The task is executed on it, default executor remains unchanged.
6691
+ # @overload an_event.on_resolution_using
6655
6692
  # @param args [Object] arguments which are passed to the task when it's executed.
6656
6693
  # (It might be prepended with other arguments, see the @yield section).
6694
+ # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
6695
+ # global executor. The task is executed on it, default executor remains unchanged.
6657
6696
  # @return [self]
6658
6697
  # @yieldreturn is forgotten.
6659
6698
  #
@@ -6684,8 +6723,8 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6684
6723
 
6685
6724
  # Returns its state.
6686
6725
  #
6687
- # @overload an_event.state
6688
6726
  # @overload a_future.state
6727
+ # @overload an_event.state
6689
6728
  # @return [Symbol]
6690
6729
  #
6691
6730
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#543
@@ -6696,7 +6735,7 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6696
6735
  # @param resolvable [Resolvable]
6697
6736
  # @return [self]
6698
6737
  #
6699
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#629
6738
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#633
6700
6739
  def tangle(resolvable); end
6701
6740
 
6702
6741
  # @return [String] Short string representation.
@@ -6771,16 +6810,16 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization:
6771
6810
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#818
6772
6811
  def callback_notify_blocked(state, promise, index); end
6773
6812
 
6774
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#105
6813
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#515
6775
6814
  def compare_and_set_internal_state(expected, value); end
6776
6815
 
6777
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#97
6816
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#515
6778
6817
  def internal_state=(value); end
6779
6818
 
6780
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#101
6819
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#515
6781
6820
  def swap_internal_state(value); end
6782
6821
 
6783
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#109
6822
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#515
6784
6823
  def update_internal_state(&block); end
6785
6824
 
6786
6825
  # @return [Boolean]
@@ -6840,13 +6879,13 @@ class Concurrent::Promises::AbstractPromise < ::Concurrent::Synchronization::Obj
6840
6879
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1581
6841
6880
  def delayed_because; end
6842
6881
 
6843
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1558
6882
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1562
6844
6883
  def event; end
6845
6884
 
6846
6885
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1558
6847
6886
  def future; end
6848
6887
 
6849
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1575
6888
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1579
6850
6889
  def inspect; end
6851
6890
 
6852
6891
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1568
@@ -6971,7 +7010,7 @@ class Concurrent::Promises::BlockedPromise < ::Concurrent::Promises::InnerPromis
6971
7010
 
6972
7011
  private
6973
7012
 
6974
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb#29
7013
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1621
6975
7014
  def new(*args, &block); end
6976
7015
  end
6977
7016
  end
@@ -7026,7 +7065,7 @@ class Concurrent::Promises::Event < ::Concurrent::Promises::AbstractEventFuture
7026
7065
  #
7027
7066
  # @return [Future, Event]
7028
7067
  #
7029
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#839
7068
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#847
7030
7069
  def &(other); end
7031
7070
 
7032
7071
  # Creates a new event which will be resolved when the first of receiver, `event_or_future`
@@ -7056,7 +7095,7 @@ class Concurrent::Promises::Event < ::Concurrent::Promises::AbstractEventFuture
7056
7095
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#875
7057
7096
  def schedule(intended_time); end
7058
7097
 
7059
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#596
7098
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#828
7060
7099
  def then(*args, &task); end
7061
7100
 
7062
7101
  # Returns self, since this is event
@@ -7097,7 +7136,7 @@ class Concurrent::Promises::Event < ::Concurrent::Promises::AbstractEventFuture
7097
7136
  #
7098
7137
  # @return [Event]
7099
7138
  #
7100
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#853
7139
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#857
7101
7140
  def |(event_or_future); end
7102
7141
 
7103
7142
  private
@@ -7139,7 +7178,7 @@ module Concurrent::Promises::FactoryMethods
7139
7178
  # @return [Future]
7140
7179
  # @see #any_resolved_future_on
7141
7180
  #
7142
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#278
7181
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#282
7143
7182
  def any(*futures_and_or_events); end
7144
7183
 
7145
7184
  # Shortcut of {#any_event_on} with default `:io` executor supplied.
@@ -7254,11 +7293,11 @@ module Concurrent::Promises::FactoryMethods
7254
7293
  # Constructs a new Future which will be resolved after block is evaluated on default executor.
7255
7294
  # Evaluation begins immediately.
7256
7295
  #
7296
+ # @param args [Object] arguments which are passed to the task when it's executed.
7297
+ # (It might be prepended with other arguments, see the @yield section).
7257
7298
  # @param default_executor [Executor, :io, :fast] Instance of an executor or a name of the
7258
7299
  # global executor. Default executor propagates to chained futures unless overridden with
7259
7300
  # executor parameter or changed with {AbstractEventFuture#with_default_executor}.
7260
- # @param args [Object] arguments which are passed to the task when it's executed.
7261
- # (It might be prepended with other arguments, see the @yield section).
7262
7301
  # @return [Future]
7263
7302
  # @yield [*args] to the task.
7264
7303
  # @yieldreturn will become result of the returned Future.
@@ -7348,12 +7387,12 @@ module Concurrent::Promises::FactoryMethods
7348
7387
  # Creates a resolved future with will be either fulfilled with the given value or rejected with
7349
7388
  # the given reason.
7350
7389
  #
7351
- # @param fulfilled [true, false]
7352
- # @param value [Object]
7353
- # @param reason [Object]
7354
7390
  # @param default_executor [Executor, :io, :fast] Instance of an executor or a name of the
7355
7391
  # global executor. Default executor propagates to chained futures unless overridden with
7356
7392
  # executor parameter or changed with {AbstractEventFuture#with_default_executor}.
7393
+ # @param fulfilled [true, false]
7394
+ # @param reason [Object]
7395
+ # @param value [Object]
7357
7396
  # @return [Future]
7358
7397
  #
7359
7398
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#118
@@ -7385,7 +7424,7 @@ module Concurrent::Promises::FactoryMethods
7385
7424
  # @return [Future]
7386
7425
  # @see #zip_futures_on
7387
7426
  #
7388
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#240
7427
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#258
7389
7428
  def zip(*futures_and_or_events); end
7390
7429
 
7391
7430
  # Shortcut of {#zip_events_on} with default `:io` executor supplied.
@@ -7482,7 +7521,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7482
7521
  #
7483
7522
  # @return [Future]
7484
7523
  #
7485
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1070
7524
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1078
7486
7525
  def &(other); end
7487
7526
 
7488
7527
  # Creates a new event which will be resolved when the first of receiver, `event_or_future`
@@ -7523,7 +7562,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7523
7562
  # @param level [Integer] how many levels of futures should flatten
7524
7563
  # @return [Future]
7525
7564
  #
7526
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1120
7565
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1124
7527
7566
  def flat(level = T.unsafe(nil)); end
7528
7567
 
7529
7568
  # Creates new event which will be resolved when the returned event by receiver is.
@@ -7552,7 +7591,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7552
7591
 
7553
7592
  # @return [String] Short string representation.
7554
7593
  #
7555
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1235
7594
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1243
7556
7595
  def inspect; end
7557
7596
 
7558
7597
  # Shortcut of {#on_fulfillment_using} with default `:io` executor supplied.
@@ -7578,10 +7617,10 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7578
7617
  # Stores the callback to be executed asynchronously on executor after it is
7579
7618
  # fulfilled. Does nothing on rejection.
7580
7619
  #
7581
- # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7582
- # global executor. The task is executed on it, default executor remains unchanged.
7583
7620
  # @param args [Object] arguments which are passed to the task when it's executed.
7584
7621
  # (It might be prepended with other arguments, see the @yield section).
7622
+ # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7623
+ # global executor. The task is executed on it, default executor remains unchanged.
7585
7624
  # @return [self]
7586
7625
  # @yield [value, *args] to the callback.
7587
7626
  # @yieldreturn is forgotten.
@@ -7612,10 +7651,10 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7612
7651
  # Stores the callback to be executed asynchronously on executor after it is
7613
7652
  # rejected. Does nothing on fulfillment.
7614
7653
  #
7615
- # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7616
- # global executor. The task is executed on it, default executor remains unchanged.
7617
7654
  # @param args [Object] arguments which are passed to the task when it's executed.
7618
7655
  # (It might be prepended with other arguments, see the @yield section).
7656
+ # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7657
+ # global executor. The task is executed on it, default executor remains unchanged.
7619
7658
  # @return [self]
7620
7659
  # @yield [reason, *args] to the callback.
7621
7660
  # @yieldreturn is forgotten.
@@ -7656,10 +7695,10 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7656
7695
  # Chains the task to be executed asynchronously on executor after it rejects. Does not run
7657
7696
  # the task if it fulfills. It will resolve though, triggering any dependent futures.
7658
7697
  #
7659
- # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7660
- # global executor. The task is executed on it, default executor remains unchanged.
7661
7698
  # @param args [Object] arguments which are passed to the task when it's executed.
7662
7699
  # (It might be prepended with other arguments, see the @yield section).
7700
+ # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7701
+ # global executor. The task is executed on it, default executor remains unchanged.
7663
7702
  # @return [Future]
7664
7703
  # @yield [reason, *args] to the task.
7665
7704
  # @yieldreturn will become result of the returned Future.
@@ -7724,10 +7763,10 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7724
7763
  # Chains the task to be executed asynchronously on executor after it fulfills. Does not run
7725
7764
  # the task if it rejects. It will resolve though, triggering any dependent futures.
7726
7765
  #
7727
- # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7728
- # global executor. The task is executed on it, default executor remains unchanged.
7729
7766
  # @param args [Object] arguments which are passed to the task when it's executed.
7730
7767
  # (It might be prepended with other arguments, see the @yield section).
7768
+ # @param executor [Executor, :io, :fast] Instance of an executor or a name of the
7769
+ # global executor. The task is executed on it, default executor remains unchanged.
7731
7770
  # @return [Future]
7732
7771
  # @yield [value, *args] to the task.
7733
7772
  # @yieldreturn will become result of the returned Future.
@@ -7829,7 +7868,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture
7829
7868
  #
7830
7869
  # @return [Future]
7831
7870
  #
7832
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1085
7871
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1089
7833
7872
  def |(event_or_future); end
7834
7873
 
7835
7874
  private
@@ -8147,11 +8186,11 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
8147
8186
  # Makes the future fulfilled with `value`,
8148
8187
  # which triggers all dependent futures.
8149
8188
  #
8150
- # @param value [Object]
8151
8189
  # @param raise_on_reassign [Boolean] should method raise exception if already resolved
8152
8190
  # @param reserved [true, false] Set to true if the resolvable is {#reserve}d by you,
8153
8191
  # marks resolution of reserved resolvable events and futures explicitly.
8154
8192
  # Advanced feature, ignore unless you use {Resolvable#reserve} from edge.
8193
+ # @param value [Object]
8155
8194
  # @return [self, false] false is returned when raise_on_reassign is false and the receiver
8156
8195
  # is already resolved.
8157
8196
  #
@@ -8172,8 +8211,8 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
8172
8211
  # Makes the future rejected with `reason`,
8173
8212
  # which triggers all dependent futures.
8174
8213
  #
8175
- # @param reason [Object]
8176
8214
  # @param raise_on_reassign [Boolean] should method raise exception if already resolved
8215
+ # @param reason [Object]
8177
8216
  # @param reserved [true, false] Set to true if the resolvable is {#reserve}d by you,
8178
8217
  # marks resolution of reserved resolvable events and futures explicitly.
8179
8218
  # Advanced feature, ignore unless you use {Resolvable#reserve} from edge.
@@ -8187,12 +8226,12 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future
8187
8226
  # which triggers all dependent futures.
8188
8227
  #
8189
8228
  # @param fulfilled [true, false]
8190
- # @param value [Object]
8191
- # @param reason [Object]
8192
8229
  # @param raise_on_reassign [Boolean] should method raise exception if already resolved
8230
+ # @param reason [Object]
8193
8231
  # @param reserved [true, false] Set to true if the resolvable is {#reserve}d by you,
8194
8232
  # marks resolution of reserved resolvable events and futures explicitly.
8195
8233
  # Advanced feature, ignore unless you use {Resolvable#reserve} from edge.
8234
+ # @param value [Object]
8196
8235
  # @return [self, false] false is returned when raise_on_reassign is false and the receiver
8197
8236
  # is already resolved.
8198
8237
  #
@@ -8271,7 +8310,7 @@ class Concurrent::Promises::ResolvableFuturePromise < ::Concurrent::Promises::Ab
8271
8310
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1607
8272
8311
  def initialize(default_executor); end
8273
8312
 
8274
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1592
8313
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/promises.rb#1611
8275
8314
  def evaluate_to(*args, block); end
8276
8315
  end
8277
8316
 
@@ -8773,22 +8812,22 @@ class Concurrent::RubyExchanger < ::Concurrent::AbstractExchanger
8773
8812
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#159
8774
8813
  def initialize; end
8775
8814
 
8776
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#137
8815
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#165
8777
8816
  def __initialize_atomic_fields__; end
8778
8817
 
8779
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#105
8818
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#165
8780
8819
  def compare_and_set_slot(expected, value); end
8781
8820
 
8782
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
8821
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#165
8783
8822
  def slot; end
8784
8823
 
8785
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#97
8824
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#165
8786
8825
  def slot=(value); end
8787
8826
 
8788
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#101
8827
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#165
8789
8828
  def swap_slot(value); end
8790
8829
 
8791
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#109
8830
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#165
8792
8831
  def update_slot(&block); end
8793
8832
 
8794
8833
  private
@@ -8800,8 +8839,8 @@ class Concurrent::RubyExchanger < ::Concurrent::AbstractExchanger
8800
8839
  # for the exchange. When the timeout value is `nil` the method will
8801
8840
  # block indefinitely.
8802
8841
  #
8803
- # @param value [Object] the value to exchange with another thread
8804
8842
  # @param timeout [Numeric, nil] in seconds, `nil` blocks indefinitely
8843
+ # @param value [Object] the value to exchange with another thread
8805
8844
  # @return [Object, CANCEL] the value exchanged by the other thread; {CANCEL} on timeout
8806
8845
  #
8807
8846
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#170
@@ -8817,10 +8856,10 @@ class Concurrent::RubyExchanger::Node < ::Concurrent::Synchronization::Object
8817
8856
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#142
8818
8857
  def initialize(item); end
8819
8858
 
8820
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#137
8859
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#139
8821
8860
  def __initialize_atomic_fields__; end
8822
8861
 
8823
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#105
8862
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#139
8824
8863
  def compare_and_set_value(expected, value); end
8825
8864
 
8826
8865
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#153
@@ -8829,16 +8868,16 @@ class Concurrent::RubyExchanger::Node < ::Concurrent::Synchronization::Object
8829
8868
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#149
8830
8869
  def latch; end
8831
8870
 
8832
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#101
8871
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#139
8833
8872
  def swap_value(value); end
8834
8873
 
8835
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#109
8874
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#139
8836
8875
  def update_value(&block); end
8837
8876
 
8838
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#93
8877
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#139
8839
8878
  def value; end
8840
8879
 
8841
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/object.rb#97
8880
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/exchanger.rb#139
8842
8881
  def value=(value); end
8843
8882
  end
8844
8883
 
@@ -8967,9 +9006,9 @@ end
8967
9006
  #
8968
9007
  # @note Failure to properly shutdown a thread pool can lead to unpredictable results.
8969
9008
  # Please read *Shutting Down Thread Pools* for more information.
8970
- # @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
8971
9009
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html Java Executors class
8972
9010
  # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html Java ExecutorService interface
9011
+ # @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
8973
9012
  # @see https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#setDaemon-boolean-
8974
9013
  #
8975
9014
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb#12
@@ -9319,21 +9358,20 @@ end
9319
9358
  # price.state #=> :fulfilled
9320
9359
  # price.fulfilled? #=> true
9321
9360
  # price.value #=> 63.65
9322
- # @example Successful task execution
9361
+ # @example Failed task execution
9323
9362
  #
9324
- # task = Concurrent::ScheduledTask.new(2){ 'What does the fox say?' }
9325
- # task.state #=> :unscheduled
9326
- # task.execute
9327
- # task.state #=> pending
9363
+ # task = Concurrent::ScheduledTask.execute(2){ raise StandardError.new('Call me maybe?') }
9364
+ # task.pending? #=> true
9328
9365
  #
9329
9366
  # # wait for it...
9330
9367
  # sleep(3)
9331
9368
  #
9332
9369
  # task.unscheduled? #=> false
9333
9370
  # task.pending? #=> false
9334
- # task.fulfilled? #=> true
9335
- # task.rejected? #=> false
9336
- # task.value #=> 'What does the fox say?'
9371
+ # task.fulfilled? #=> false
9372
+ # task.rejected? #=> true
9373
+ # task.value #=> nil
9374
+ # task.reason #=> #<StandardError: Call me maybe?>
9337
9375
  # @example One line creation and execution
9338
9376
  #
9339
9377
  # task = Concurrent::ScheduledTask.new(2){ 'What does the fox say?' }.execute
@@ -9341,20 +9379,21 @@ end
9341
9379
  #
9342
9380
  # task = Concurrent::ScheduledTask.execute(2){ 'What do you get when you multiply 6 by 9?' }
9343
9381
  # task.state #=> pending
9344
- # @example Failed task execution
9382
+ # @example Successful task execution
9345
9383
  #
9346
- # task = Concurrent::ScheduledTask.execute(2){ raise StandardError.new('Call me maybe?') }
9347
- # task.pending? #=> true
9384
+ # task = Concurrent::ScheduledTask.new(2){ 'What does the fox say?' }
9385
+ # task.state #=> :unscheduled
9386
+ # task.execute
9387
+ # task.state #=> pending
9348
9388
  #
9349
9389
  # # wait for it...
9350
9390
  # sleep(3)
9351
9391
  #
9352
9392
  # task.unscheduled? #=> false
9353
9393
  # task.pending? #=> false
9354
- # task.fulfilled? #=> false
9355
- # task.rejected? #=> true
9356
- # task.value #=> nil
9357
- # task.reason #=> #<StandardError: Call me maybe?>
9394
+ # task.fulfilled? #=> true
9395
+ # task.rejected? #=> false
9396
+ # task.value #=> 'What does the fox say?'
9358
9397
  # @example Task execution with observation
9359
9398
  #
9360
9399
  # observer = Class.new{
@@ -9471,7 +9510,7 @@ class Concurrent::ScheduledTask < ::Concurrent::IVar
9471
9510
 
9472
9511
  protected
9473
9512
 
9474
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#135
9513
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#301
9475
9514
  def fail(reason = T.unsafe(nil)); end
9476
9515
 
9477
9516
  # Reschedule the task using the given delay and the current time.
@@ -9491,10 +9530,10 @@ class Concurrent::ScheduledTask < ::Concurrent::IVar
9491
9530
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#312
9492
9531
  def ns_schedule(delay); end
9493
9532
 
9494
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#113
9533
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#301
9495
9534
  def set(value = T.unsafe(nil)); end
9496
9535
 
9497
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/ivar.rb#145
9536
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/scheduled_task.rb#301
9498
9537
  def try_set(value = T.unsafe(nil), &block); end
9499
9538
 
9500
9539
  class << self
@@ -9617,8 +9656,8 @@ class Concurrent::SerializedExecution < ::Concurrent::Synchronization::LockableO
9617
9656
 
9618
9657
  # Submit a task to the executor for asynchronous processing.
9619
9658
  #
9620
- # @param executor [Executor] to be used for this job
9621
9659
  # @param args [Array] zero or more arguments to be passed to the task
9660
+ # @param executor [Executor] to be used for this job
9622
9661
  # @raise [ArgumentError] if no task is given
9623
9662
  # @return [Boolean] `true` if the task is queued, `false` if the executor
9624
9663
  # is not running
@@ -9655,23 +9694,31 @@ class Concurrent::SerializedExecution::Job < ::Struct
9655
9694
  # Returns the value of attribute args
9656
9695
  #
9657
9696
  # @return [Object] the current value of args
9697
+ #
9698
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9658
9699
  def args; end
9659
9700
 
9660
9701
  # Sets the attribute args
9661
9702
  #
9662
9703
  # @param value [Object] the value to set the attribute args to.
9663
9704
  # @return [Object] the newly set value
9705
+ #
9706
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9664
9707
  def args=(_); end
9665
9708
 
9666
9709
  # Returns the value of attribute block
9667
9710
  #
9668
9711
  # @return [Object] the current value of block
9712
+ #
9713
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9669
9714
  def block; end
9670
9715
 
9671
9716
  # Sets the attribute block
9672
9717
  #
9673
9718
  # @param value [Object] the value to set the attribute block to.
9674
9719
  # @return [Object] the newly set value
9720
+ #
9721
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9675
9722
  def block=(_); end
9676
9723
 
9677
9724
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#17
@@ -9680,19 +9727,32 @@ class Concurrent::SerializedExecution::Job < ::Struct
9680
9727
  # Returns the value of attribute executor
9681
9728
  #
9682
9729
  # @return [Object] the current value of executor
9730
+ #
9731
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9683
9732
  def executor; end
9684
9733
 
9685
9734
  # Sets the attribute executor
9686
9735
  #
9687
9736
  # @param value [Object] the value to set the attribute executor to.
9688
9737
  # @return [Object] the newly set value
9738
+ #
9739
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9689
9740
  def executor=(_); end
9690
9741
 
9691
9742
  class << self
9743
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9692
9744
  def [](*_arg0); end
9745
+
9746
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9693
9747
  def inspect; end
9748
+
9749
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9694
9750
  def keyword_init?; end
9751
+
9752
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9695
9753
  def members; end
9754
+
9755
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution.rb#16
9696
9756
  def new(*_arg0); end
9697
9757
  end
9698
9758
  end
@@ -9700,8 +9760,8 @@ end
9700
9760
  # A wrapper/delegator for any `ExecutorService` that
9701
9761
  # guarantees serialized execution of tasks.
9702
9762
  #
9703
- # @see [SimpleDelegator](http://www.ruby-doc.org/stdlib-2.1.2/libdoc/delegate/rdoc/SimpleDelegator.html)
9704
9763
  # @see Concurrent::SerializedExecution
9764
+ # @see [SimpleDelegator](http://www.ruby-doc.org/stdlib-2.1.2/libdoc/delegate/rdoc/SimpleDelegator.html)
9705
9765
  #
9706
9766
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb#12
9707
9767
  class Concurrent::SerializedExecutionDelegator < ::SimpleDelegator
@@ -9749,8 +9809,8 @@ Concurrent::SetImplementation = Concurrent::CRubySet
9749
9809
  # or any time thereafter. Attempting to assign a value to a member
9750
9810
  # that has already been set will result in a `Concurrent::ImmutabilityError`.
9751
9811
  #
9752
- # @see http://ruby-doc.org/core/Struct.html Ruby standard library `Struct`
9753
9812
  # @see http://en.wikipedia.org/wiki/Final_(Java) Java `final` keyword
9813
+ # @see http://ruby-doc.org/core/Struct.html Ruby standard library `Struct`
9754
9814
  #
9755
9815
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/settable_struct.rb#14
9756
9816
  module Concurrent::SettableStruct
@@ -9826,8 +9886,8 @@ module Concurrent::SettableStruct
9826
9886
  # @return [Synchronization::AbstractStruct] a new struct with the new values
9827
9887
  # @yield an options block for resolving duplicate keys
9828
9888
  # @yieldparam member [String, Symbol] the name of the member which is duplicated
9829
- # @yieldparam selfvalue [Object] the value of the member in `self`
9830
9889
  # @yieldparam othervalue [Object] the value of the member in `other`
9890
+ # @yieldparam selfvalue [Object] the value of the member in `self`
9831
9891
  #
9832
9892
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/settable_struct.rb#35
9833
9893
  def merge(other, &block); end
@@ -9847,7 +9907,7 @@ module Concurrent::SettableStruct
9847
9907
  #
9848
9908
  # @return [Array] the values for this struct
9849
9909
  #
9850
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/settable_struct.rb#18
9910
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/settable_struct.rb#21
9851
9911
  def to_a; end
9852
9912
 
9853
9913
  # Returns a hash containing the names and values for the struct’s members.
@@ -9861,7 +9921,7 @@ module Concurrent::SettableStruct
9861
9921
  #
9862
9922
  # @return [String] the contents of this struct in a string
9863
9923
  #
9864
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/settable_struct.rb#29
9924
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/settable_struct.rb#32
9865
9925
  def to_s; end
9866
9926
 
9867
9927
  # Returns the values for this struct as an Array.
@@ -10184,7 +10244,7 @@ module Concurrent::Synchronization::AbstractStruct
10184
10244
  #
10185
10245
  # @return [Fixnum] the number of struct members
10186
10246
  #
10187
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb#19
10247
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb#22
10188
10248
  def size; end
10189
10249
 
10190
10250
  protected
@@ -10248,8 +10308,8 @@ module Concurrent::Synchronization::AbstractStruct
10248
10308
  # @return [Synchronization::AbstractStruct] a new struct with the new values
10249
10309
  # @yield an options block for resolving duplicate keys
10250
10310
  # @yieldparam member [String, Symbol] the name of the member which is duplicated
10251
- # @yieldparam selfvalue [Object] the value of the member in `self`
10252
10311
  # @yieldparam othervalue [Object] the value of the member in `other`
10312
+ # @yieldparam selfvalue [Object] the value of the member in `self`
10253
10313
  #
10254
10314
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb#114
10255
10315
  def ns_merge(other, &block); end
@@ -10331,12 +10391,12 @@ class Concurrent::Synchronization::Condition < ::Concurrent::Synchronization::Lo
10331
10391
  def wait_until(timeout = T.unsafe(nil), &condition); end
10332
10392
 
10333
10393
  class << self
10334
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb#29
10394
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/condition.rb#15
10335
10395
  def private_new(*args, &block); end
10336
10396
 
10337
10397
  private
10338
10398
 
10339
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/safe_initialization.rb#29
10399
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/condition.rb#16
10340
10400
  def new(*args, &block); end
10341
10401
  end
10342
10402
  end
@@ -10359,22 +10419,22 @@ class Concurrent::Synchronization::Lock < ::Concurrent::Synchronization::Lockabl
10359
10419
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#31
10360
10420
  def broadcast; end
10361
10421
 
10362
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#16
10422
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#35
10363
10423
  def ns_broadcast; end
10364
10424
 
10365
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#11
10425
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#29
10366
10426
  def ns_signal; end
10367
10427
 
10368
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#52
10428
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#17
10369
10429
  def ns_wait(timeout = T.unsafe(nil)); end
10370
10430
 
10371
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb#37
10431
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#23
10372
10432
  def ns_wait_until(timeout = T.unsafe(nil), &condition); end
10373
10433
 
10374
10434
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#25
10375
10435
  def signal; end
10376
10436
 
10377
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb#44
10437
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#11
10378
10438
  def synchronize; end
10379
10439
 
10380
10440
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/synchronization/lock.rb#13
@@ -10909,9 +10969,9 @@ end
10909
10969
  #
10910
10970
  # @note Failure to properly shutdown a thread pool can lead to unpredictable results.
10911
10971
  # Please read *Shutting Down Thread Pools* for more information.
10912
- # @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
10913
10972
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Executors.html Java Executors class
10914
10973
  # @see http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html Java ExecutorService interface
10974
+ # @see http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html Java Tutorials: Thread Pools
10915
10975
  # @see https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#setDaemon-boolean-
10916
10976
  #
10917
10977
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb#56
@@ -10982,8 +11042,8 @@ class Concurrent::TimerSet < ::Concurrent::RubyExecutorService
10982
11042
  # delay is less than 1/100th of a second the task will be immediately post
10983
11043
  # to the executor.
10984
11044
  #
10985
- # @param delay [Float] the number of seconds to wait for before executing the task.
10986
11045
  # @param args [Array<Object>] the arguments passed to the task on execution.
11046
+ # @param delay [Float] the number of seconds to wait for before executing the task.
10987
11047
  # @raise [ArgumentError] if the intended execution time is not in the future.
10988
11048
  # @raise [ArgumentError] if no block is given.
10989
11049
  # @return [Concurrent::ScheduledTask, false] IVar representing the task if the post
@@ -10995,7 +11055,7 @@ class Concurrent::TimerSet < ::Concurrent::RubyExecutorService
10995
11055
 
10996
11056
  private
10997
11057
 
10998
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#166
11058
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/timer_set.rb#66
10999
11059
  def <<(task); end
11000
11060
 
11001
11061
  # Initialize the object.
@@ -11109,26 +11169,11 @@ end
11109
11169
  # end
11110
11170
  #
11111
11171
  # task.execution_interval #=> 5
11112
- # @example Immediate execution with `:run_now`
11113
- # task = Concurrent::TimerTask.new(run_now: true){ puts 'Boom!' }
11114
- # task.execute
11115
- #
11116
- # #=> 'Boom!'
11117
11172
  # @example Configuring `:interval_type` with either :fixed_delay or :fixed_rate, default is :fixed_delay
11118
11173
  # task = Concurrent::TimerTask.new(execution_interval: 5, interval_type: :fixed_rate) do
11119
11174
  # puts 'Boom!'
11120
11175
  # end
11121
11176
  # task.interval_type #=> :fixed_rate
11122
- # @example Last `#value` and `Dereferenceable` mixin
11123
- # task = Concurrent::TimerTask.new(
11124
- # dup_on_deref: true,
11125
- # execution_interval: 5
11126
- # ){ Time.now }
11127
- #
11128
- # task.execute
11129
- # Time.now #=> 2013-11-07 18:06:50 -0500
11130
- # sleep(10)
11131
- # task.value #=> 2013-11-07 18:06:55 -0500
11132
11177
  # @example Controlling execution from within the block
11133
11178
  # timer_task = Concurrent::TimerTask.new(execution_interval: 1) do |task|
11134
11179
  # task.execution_interval.to_i.times{ print 'Boom! ' }
@@ -11147,6 +11192,21 @@ end
11147
11192
  # #=> Boom! Boom! Boom! Boom!
11148
11193
  # #=> Boom! Boom! Boom! Boom! Boom!
11149
11194
  # #=> Stopping...
11195
+ # @example Immediate execution with `:run_now`
11196
+ # task = Concurrent::TimerTask.new(run_now: true){ puts 'Boom!' }
11197
+ # task.execute
11198
+ #
11199
+ # #=> 'Boom!'
11200
+ # @example Last `#value` and `Dereferenceable` mixin
11201
+ # task = Concurrent::TimerTask.new(
11202
+ # dup_on_deref: true,
11203
+ # execution_interval: 5
11204
+ # ){ Time.now }
11205
+ #
11206
+ # task.execute
11207
+ # Time.now #=> 2013-11-07 18:06:50 -0500
11208
+ # sleep(10)
11209
+ # task.value #=> 2013-11-07 18:06:55 -0500
11150
11210
  # @example Observation
11151
11211
  # class TaskObserver
11152
11212
  # def update(time, result, ex)
@@ -11185,8 +11245,8 @@ end
11185
11245
  # #=> (2013-10-13 19:09:38 -0400) Execution failed with error StandardError
11186
11246
  # #=> (2013-10-13 19:09:39 -0400) Execution failed with error StandardError
11187
11247
  # task.shutdown
11188
- # @see http://ruby-doc.org/stdlib-2.0/libdoc/observer/rdoc/Observable.html
11189
11248
  # @see http://docs.oracle.com/javase/7/docs/api/java/util/TimerTask.html
11249
+ # @see http://ruby-doc.org/stdlib-2.0/libdoc/observer/rdoc/Observable.html
11190
11250
  #
11191
11251
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#165
11192
11252
  class Concurrent::TimerTask < ::Concurrent::RubyExecutorService
@@ -11213,14 +11273,14 @@ class Concurrent::TimerTask < ::Concurrent::RubyExecutorService
11213
11273
 
11214
11274
  # Execute a previously created `TimerTask`.
11215
11275
  #
11276
+ # @example Instance and execute in one line
11277
+ # task = Concurrent::TimerTask.new(execution_interval: 10){ print "Hello World\n" }.execute
11278
+ # task.running? #=> true
11216
11279
  # @example Instance and execute in separate steps
11217
11280
  # task = Concurrent::TimerTask.new(execution_interval: 10){ print "Hello World\n" }
11218
11281
  # task.running? #=> false
11219
11282
  # task.execute
11220
11283
  # task.running? #=> true
11221
- # @example Instance and execute in one line
11222
- # task = Concurrent::TimerTask.new(execution_interval: 10){ print "Hello World\n" }.execute
11223
- # task.running? #=> true
11224
11284
  # @return [TimerTask] a reference to `self`
11225
11285
  #
11226
11286
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#235
@@ -11264,7 +11324,7 @@ class Concurrent::TimerTask < ::Concurrent::RubyExecutorService
11264
11324
 
11265
11325
  private
11266
11326
 
11267
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/executor_service.rb#166
11327
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#292
11268
11328
  def <<(task); end
11269
11329
 
11270
11330
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#352
@@ -11282,7 +11342,7 @@ class Concurrent::TimerTask < ::Concurrent::RubyExecutorService
11282
11342
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#318
11283
11343
  def ns_shutdown_execution; end
11284
11344
 
11285
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb#17
11345
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#292
11286
11346
  def post(*args, &task); end
11287
11347
 
11288
11348
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/timer_task.rb#330
@@ -11382,30 +11442,47 @@ class Concurrent::Transaction::OpenEntry < ::Struct
11382
11442
  # Returns the value of attribute modified
11383
11443
  #
11384
11444
  # @return [Object] the current value of modified
11445
+ #
11446
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11385
11447
  def modified; end
11386
11448
 
11387
11449
  # Sets the attribute modified
11388
11450
  #
11389
11451
  # @param value [Object] the value to set the attribute modified to.
11390
11452
  # @return [Object] the newly set value
11453
+ #
11454
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11391
11455
  def modified=(_); end
11392
11456
 
11393
11457
  # Returns the value of attribute value
11394
11458
  #
11395
11459
  # @return [Object] the current value of value
11460
+ #
11461
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11396
11462
  def value; end
11397
11463
 
11398
11464
  # Sets the attribute value
11399
11465
  #
11400
11466
  # @param value [Object] the value to set the attribute value to.
11401
11467
  # @return [Object] the newly set value
11468
+ #
11469
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11402
11470
  def value=(_); end
11403
11471
 
11404
11472
  class << self
11473
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11405
11474
  def [](*_arg0); end
11475
+
11476
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11406
11477
  def inspect; end
11478
+
11479
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11407
11480
  def keyword_init?; end
11481
+
11482
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11408
11483
  def members; end
11484
+
11485
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tvar.rb#157
11409
11486
  def new(*_arg0); end
11410
11487
  end
11411
11488
  end
@@ -11421,9 +11498,9 @@ end
11421
11498
  # tuple.compare_and_set(0, :foo, :bar) #=> true | strong CAS
11422
11499
  # tuple.cas(0, :foo, :baz) #=> false | strong CAS
11423
11500
  # tuple.get(0) #=> :bar | volatile read
11424
- # @see https://en.wikipedia.org/wiki/Tuple Tuple entry at Wikipedia
11425
- # @see http://www.erlang.org/doc/reference_manual/data_types.html#id70396 Erlang Tuple
11426
11501
  # @see http://ruby-doc.org/core-2.2.2/Enumerable.html Enumerable
11502
+ # @see http://www.erlang.org/doc/reference_manual/data_types.html#id70396 Erlang Tuple
11503
+ # @see https://en.wikipedia.org/wiki/Tuple Tuple entry at Wikipedia
11427
11504
  #
11428
11505
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#20
11429
11506
  class Concurrent::Tuple
@@ -11441,19 +11518,19 @@ class Concurrent::Tuple
11441
11518
  # value matches the given old value.
11442
11519
  #
11443
11520
  # @param i [Integer] the index for the element to set
11444
- # @param old_value [Object] the value to compare against the current value
11445
11521
  # @param new_value [Object] the value to set at the given index
11522
+ # @param old_value [Object] the value to compare against the current value
11446
11523
  # @return [Boolean] true if the value at the given element was set else false
11447
11524
  #
11448
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#69
11525
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#73
11449
11526
  def cas(i, old_value, new_value); end
11450
11527
 
11451
11528
  # Set the value at the given index to the new value if and only if the current
11452
11529
  # value matches the given old value.
11453
11530
  #
11454
11531
  # @param i [Integer] the index for the element to set
11455
- # @param old_value [Object] the value to compare against the current value
11456
11532
  # @param new_value [Object] the value to set at the given index
11533
+ # @param old_value [Object] the value to compare against the current value
11457
11534
  # @return [Boolean] true if the value at the given element was set else false
11458
11535
  #
11459
11536
  # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#69
@@ -11493,7 +11570,7 @@ class Concurrent::Tuple
11493
11570
  # @param i [Integer] the index from which to retrieve the value
11494
11571
  # @return [Object] the value at the given index or nil if the index is out of bounds
11495
11572
  #
11496
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#43
11573
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#47
11497
11574
  def volatile_get(i); end
11498
11575
 
11499
11576
  # Set the element at the given index to the given value
@@ -11502,7 +11579,7 @@ class Concurrent::Tuple
11502
11579
  # @param value [Object] the value to set at the given index
11503
11580
  # @return [Object] the new value of the element at the given index or nil if the index is out of bounds
11504
11581
  #
11505
- # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#55
11582
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/tuple.rb#59
11506
11583
  def volatile_set(i, value); end
11507
11584
  end
11508
11585