Skip to content

Commit

Permalink
Merge 66e31aa into a5076bf
Browse files Browse the repository at this point in the history
  • Loading branch information
Prajjwal committed Nov 20, 2020
2 parents a5076bf + 66e31aa commit 9e79526
Show file tree
Hide file tree
Showing 9 changed files with 84 additions and 77 deletions.
73 changes: 36 additions & 37 deletions lib/concurrent-ruby/concurrent.rb
Original file line number Diff line number Diff line change
@@ -1,42 +1,12 @@
require 'concurrent/version'
require 'concurrent/constants'
require 'concurrent/errors'
require 'concurrent/configuration'
# frozen_string_literal: true

require 'concurrent/atomics'
require 'concurrent/executors'
require 'concurrent/synchronization'

require 'concurrent/atomic/atomic_markable_reference'
require 'concurrent/atomic/atomic_reference'
require 'concurrent/agent'
require 'concurrent/atom'
require 'concurrent/array'
require 'concurrent/hash'
require 'concurrent/set'
require 'concurrent/map'
require 'concurrent/tuple'
require 'concurrent/async'
require 'concurrent/dataflow'
require 'concurrent/delay'
require 'concurrent/exchanger'
require 'concurrent/future'
require 'concurrent/immutable_struct'
require 'concurrent/ivar'
require 'concurrent/maybe'
require 'concurrent/mutable_struct'
require 'concurrent/mvar'
require 'concurrent/promise'
require 'concurrent/scheduled_task'
require 'concurrent/settable_struct'
require 'concurrent/timer_task'
require 'concurrent/tvar'
require 'concurrent/promises'

require 'concurrent/thread_safe/synchronized_delegator'
require 'concurrent/thread_safe/util'

require 'concurrent/options'

require 'concurrent/executors'
require 'concurrent/atomics'
require 'concurrent/collection'

require 'concurrent/configuration'

# @!macro internal_implementation_note
#
Expand Down Expand Up @@ -131,4 +101,33 @@

# {include:file:README.md}
module Concurrent
autoload :VERSION, 'concurrent/version'
autoload :NULL, 'concurrent/constants'
autoload :Agent, 'concurrent/agent'
autoload :Atom, 'concurrent/atom'

autoload :Array, 'concurrent/array'
autoload :Hash, 'concurrent/hash'
autoload :Set, 'concurrent/set'
autoload :Map, 'concurrent/map'
autoload :Tuple, 'concurrent/tuple'

autoload :Async, 'concurrent/async'
autoload :Delay, 'concurrent/delay'

autoload :RubyExchanger, 'concurrent/exchanger'
autoload :Future, 'concurrent/future'
autoload :ImmutableStruct, 'concurrent/immutable_struct'

autoload :IVar, 'concurrent/ivar'

autoload :Maybe, 'concurrent/maybe'
autoload :MutableStruct, 'concurrent/mutable_struct'
autoload :MVar, 'concurrent/mvar'
autoload :Promise, 'concurrent/promise'
autoload :ScheduledTask, 'concurrent/scheduled_task'
autoload :SettableStruct, 'concurrent/settable_struct'
autoload :TimerTask, 'concurrent/timer_task'
autoload :TVar, 'concurrent/tvar'
autoload :Promises, 'concurrent/promises'
end
24 changes: 14 additions & 10 deletions lib/concurrent-ruby/concurrent/atomics.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
require 'concurrent/atomic/atomic_reference'
require 'concurrent/atomic/atomic_boolean'
require 'concurrent/atomic/atomic_fixnum'
require 'concurrent/atomic/cyclic_barrier'
require 'concurrent/atomic/count_down_latch'
require 'concurrent/atomic/event'
require 'concurrent/atomic/read_write_lock'
require 'concurrent/atomic/reentrant_read_write_lock'
require 'concurrent/atomic/semaphore'
require 'concurrent/atomic/thread_local_var'
# frozen_string_literal: true

module Concurrent
autoload :AtomicReference, 'concurrent/atomic/atomic_reference'
autoload :AtomicBoolean, 'concurrent/atomic/atomic_boolean'
autoload :AtomicFixnum, 'concurrent/atomic/atomic_fixnum'
autoload :CyclicBarrier, 'concurrent/atomic/cyclic_barrier'
autoload :MutexCountDownLatch, 'concurrent/atomic/count_down_latch'
autoload :Event, 'concurrent/atomic/event'
autoload :ReadWriteLock, 'concurrent/atomic/read_write_lock'
autoload :ReentrantReadWriteLock, 'concurrent/atomic/reentrant_read_write_lock'
autoload :MutexSemaphore, 'concurrent/atomic/semaphore'
autoload :ThreadLocalVar, 'concurrent/atomic/thread_local_var'
end
7 changes: 7 additions & 0 deletions lib/concurrent-ruby/concurrent/collection.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# frozen_string_literal: true

module Concurrent
module Collection
autoload :RubyNonConcurrentPriorityQueue, 'concurrent/collection/non_concurrent_priority_queue'
end
end
3 changes: 1 addition & 2 deletions lib/concurrent-ruby/concurrent/dataflow.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
require 'concurrent/future'
require 'concurrent/atomic/atomic_fixnum'
# frozen_string_literal: true

module Concurrent

Expand Down
4 changes: 0 additions & 4 deletions lib/concurrent-ruby/concurrent/delay.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@
require 'concurrent/synchronization'

module Concurrent

# This file has circular require issues. It must be autoloaded here.
autoload :Options, 'concurrent/options'

# Lazy evaluation of a block yielding an immutable result. Useful for
# expensive operations that may never be needed. It may be non-blocking,
# supports the `Concern::Obligation` interface, and accepts the injection of
Expand Down
44 changes: 24 additions & 20 deletions lib/concurrent-ruby/concurrent/executors.rb
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
require 'concurrent/executor/abstract_executor_service'
require 'concurrent/executor/cached_thread_pool'
require 'concurrent/executor/executor_service'
require 'concurrent/executor/fixed_thread_pool'
require 'concurrent/executor/immediate_executor'
require 'concurrent/executor/indirect_immediate_executor'
require 'concurrent/executor/java_executor_service'
require 'concurrent/executor/java_single_thread_executor'
require 'concurrent/executor/java_thread_pool_executor'
require 'concurrent/executor/ruby_executor_service'
require 'concurrent/executor/ruby_single_thread_executor'
require 'concurrent/executor/ruby_thread_pool_executor'
require 'concurrent/executor/cached_thread_pool'
require 'concurrent/executor/safe_task_executor'
require 'concurrent/executor/serial_executor_service'
require 'concurrent/executor/serialized_execution'
require 'concurrent/executor/serialized_execution_delegator'
require 'concurrent/executor/single_thread_executor'
require 'concurrent/executor/thread_pool_executor'
require 'concurrent/executor/timer_set'
# frozen_string_literal: true

module Concurrent
autoload :AbstractExecutorService, 'concurrent/executor/abstract_executor_service'
autoload :CachedThreadPool, 'concurrent/executor/cached_thread_pool'
autoload :ExecutorService, 'concurrent/executor/executor_service'
autoload :FixedThreadPool, 'concurrent/executor/fixed_thread_pool'
autoload :ImmediateExecutor, 'concurrent/executor/immediate_executor'
autoload :IndirectImmediateExecutor, 'concurrent/executor/indirect_immediate_executor'
autoload :JavaExecutorService, 'concurrent/executor/java_executor_service'
autoload :JavaSingleThreadExecutor, 'concurrent/executor/java_single_thread_executor'
autoload :JavaThreadPoolExecutor, 'concurrent/executor/java_thread_pool_executor'
autoload :RubyExecutorService, 'concurrent/executor/ruby_executor_service'
autoload :RubySingleThreadExecutor, 'concurrent/executor/ruby_single_thread_executor'
autoload :RubyThreadPoolExecutor, 'concurrent/executor/ruby_thread_pool_executor'
autoload :CachedThreadPool, 'concurrent/executor/cached_thread_pool'
autoload :SafeTaskExecutor, 'concurrent/executor/safe_task_executor'
autoload :SerialExecutorService, 'concurrent/executor/serial_executor_service'
autoload :SerializedExecution, 'concurrent/executor/serialized_execution'
autoload :SerializedExecutionDelegator, 'concurrent/executor/serialized_execution_delegator'
autoload :SingleThreadExecutor, 'concurrent/executor/single_thread_executor'
autoload :ThreadPoolExecutor, 'concurrent/executor/thread_pool_executor'
autoload :TimerSet, 'concurrent/executor/timer_set'
end
3 changes: 2 additions & 1 deletion lib/concurrent-ruby/concurrent/map.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ module Concurrent
# @!visibility private
module Collection

autoload :MriMapBackend, 'concurrent/collection/map/mri_map_backend'

# @!visibility private
MapImplementation = case
when Concurrent.on_jruby?
# noinspection RubyResolve
JRubyMapBackend
when Concurrent.on_cruby?
require 'concurrent/collection/map/mri_map_backend'
MriMapBackend
when Concurrent.on_rbx? || Concurrent.on_truffleruby?
require 'concurrent/collection/map/atomic_reference_map_backend'
Expand Down
2 changes: 0 additions & 2 deletions lib/concurrent-ruby/concurrent/options.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
require 'concurrent/configuration'

module Concurrent

# @!visibility private
Expand Down
1 change: 0 additions & 1 deletion spec/concurrent/tvar_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
module Concurrent

RSpec.describe TVar do

context '#initialize' do
Expand Down

0 comments on commit 9e79526

Please sign in to comment.