Skip to content

Commit 251a32f

Browse files
committed
Better documentation of private API.
1 parent e16d33f commit 251a32f

33 files changed

+148
-71
lines changed

lib/concurrent.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@
2626
require 'concurrent/timer_task'
2727
require 'concurrent/tvar'
2828

29+
# @!macro [new] internal_implementation_note
30+
#
31+
# @note **Private Implementation:** This abstraction is a private, internal
32+
# implementation detail. It should never be used directly.
33+
2934
# @!macro [new] monotonic_clock_warning
3035
#
3136
# @note Time calculations one all platforms and languages are sensitive to

lib/concurrent/actor.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ module Concurrent
1111
# TODO more effective executor
1212

1313
# {include:file:doc/actor/main.md}
14+
# @api Actor
15+
# @!macro edge_warning
1416
module Actor
1517

1618
require 'concurrent/actor/type_check'

lib/concurrent/agent.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ module Concurrent
7979
#
8080
# @!attribute [r] timeout
8181
# @return [Fixnum] the maximum number of seconds before an update is cancelled
82+
#
83+
# @!macro edge_warning
8284
class Agent
8385
include Concern::Dereferenceable
8486
include Concern::Observable

lib/concurrent/atomic/atomic_boolean.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ module Concurrent
2323
#
2424
# @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicBoolean.html java.util.concurrent.atomic.AtomicBoolean
2525
#
26-
# @api private
26+
# @!visibility private
27+
#
28+
# @!macro internal_implementation_note
2729
class MutexAtomicBoolean < Synchronization::Object
2830

2931
# @!macro [attach] atomic_boolean_method_initialize
@@ -107,7 +109,8 @@ def ns_make_value(value)
107109
end
108110
end
109111

110-
# @api private
112+
# @!visibility private
113+
# @!macro internal_implementation_note
111114
AtomicBooleanImplementation = case
112115
when Concurrent.on_jruby?
113116
JavaAtomicBoolean

lib/concurrent/atomic/atomic_fixnum.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ module Concurrent
2323
#
2424
# @see http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicLong.html java.util.concurrent.atomic.AtomicLong
2525
#
26-
# @api private
26+
# @!visibility private
27+
# @!macro internal_implementation_note
2728
class MutexAtomicFixnum < Synchronization::Object
2829

2930
# http://stackoverflow.com/questions/535721/ruby-max-integer
@@ -134,7 +135,8 @@ def range_check!(value)
134135
end
135136
end
136137

137-
# @api private
138+
# @!visibility private
139+
# @!macro internal_implementation_note
138140
AtomicFixnumImplementation = case
139141
when Concurrent.on_jruby?
140142
JavaAtomicFixnum

lib/concurrent/atomic/count_down_latch.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ module Concurrent
1212
# When the latch counter reaches zero the waiting thread is unblocked and continues
1313
# with its work. A `CountDownLatch` can be used only once. Its value cannot be reset.
1414
#
15-
# @api private
15+
# @!visibility private
16+
# @!macro internal_implementation_note
1617
class PureCountDownLatch < Synchronization::Object
1718

1819
# @!macro [attach] count_down_latch_method_initialize
@@ -71,7 +72,8 @@ def ns_initialize(count)
7172
if Concurrent.on_jruby?
7273

7374
# @!macro count_down_latch
74-
# @api private
75+
# @!visibility private
76+
# @!macro internal_implementation_note
7577
class JavaCountDownLatch
7678

7779
# @!macro count_down_latch_method_initialize

lib/concurrent/atomic/semaphore.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ module Concurrent
1010
# releasing a blocking acquirer.
1111
# However, no actual permit objects are used; the Semaphore just keeps a
1212
# count of the number available and acts accordingly.
13+
#
14+
# @!visibility private
15+
#
16+
# @!macro internal_implementation_note
1317
class MutexSemaphore < Synchronization::Object
1418

1519
# @!macro [attach] semaphore_method_initialize
@@ -163,6 +167,8 @@ def try_acquire_timed(permits, timeout)
163167
end
164168
end
165169

170+
# @!visibility private
171+
# @!macro internal_implementation_note
166172
SemaphoreImplementation = case
167173
when Concurrent.on_jruby?
168174
JavaSemaphore

lib/concurrent/atomic/thread_local_var.rb

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ module Concurrent
3232
# v.value #=> 14
3333
#
3434
# @see https://docs.oracle.com/javase/7/docs/api/java/lang/ThreadLocal.html Java ThreadLocal
35+
#
36+
# @!visibility private
3537
class AbstractThreadLocalVar
3638

3739
# @api private
@@ -113,6 +115,8 @@ def set(value)
113115
end
114116
end
115117

118+
# @!visibility private
119+
# @!macro internal_implementation_note
116120
class RubyThreadLocalVar < AbstractThreadLocalVar
117121

118122
protected
@@ -145,6 +149,8 @@ def set(value)
145149

146150
if Concurrent.on_jruby?
147151

152+
# @!visibility private
153+
# @!macro internal_implementation_note
148154
class JavaThreadLocalVar < AbstractThreadLocalVar
149155

150156
protected
@@ -166,6 +172,8 @@ def set(value)
166172
end
167173
end
168174

175+
# @!visibility private
176+
# @!macro internal_implementation_note
169177
ThreadLocalVarImplementation = case
170178
when Concurrent.on_jruby?
171179
JavaThreadLocalVar
@@ -175,9 +183,6 @@ def set(value)
175183
private_constant :ThreadLocalVarImplementation
176184

177185
# @!macro thread_local_var
178-
#
179-
# @see Concurrent::AbstractThreadLocalVar
180-
# @see Concurrent::RubyThreadLocalVar
181186
class ThreadLocalVar < ThreadLocalVarImplementation
182187

183188
# @!method initialize(default = nil)

lib/concurrent/atomic/thread_local_var/weak_key_map.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
module Concurrent
2323

24-
# @api private
24+
# @!visibility private
2525
class AbstractThreadLocalVar
2626

2727
begin

lib/concurrent/atomic_reference/direct_update.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
module Concurrent
44

55
# Define update methods that use direct paths
6-
# @api private
6+
#
7+
# @!visibility private
8+
# @!macro internal_implementation_note
79
module AtomicDirectUpdate
810

911
# @!macro [attach] atomic_reference_method_update

0 commit comments

Comments
 (0)