Skip to content

Commit d3a01d4

Browse files
committed
Fix links in README.md
1 parent 04101ee commit d3a01d4

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

README.md

+45-45
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,14 @@ We also have a [IRC (gitter)](https://gitter.im/ruby-concurrency/concurrent-ruby
8686

8787
#### General-purpose Concurrency Abstractions
8888

89-
* [Async](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Async.html):
89+
* [Async](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Async.html):
9090
A mixin module that provides simple asynchronous behavior to a class. Loosely based on Erlang's
9191
[gen_server](http://www.erlang.org/doc/man/gen_server.html).
92-
* [ScheduledTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ScheduledTask.html):
92+
* [ScheduledTask](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ScheduledTask.html):
9393
Like a Future scheduled for a specific future time.
94-
* [TimerTask](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TimerTask.html):
94+
* [TimerTask](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/TimerTask.html):
9595
A Thread that periodically wakes up to perform work at regular intervals.
96-
* [Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html):
96+
* [Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html):
9797
Unified implementation of futures and promises which combines features of previous `Future`,
9898
`Promise`, `IVar`, `Event`, `dataflow`, `Delay`, and (partially) `TimerTask` into a single
9999
framework. It extensively uses the new synchronization layer to make all the features
@@ -104,103 +104,103 @@ We also have a [IRC (gitter)](https://gitter.im/ruby-concurrency/concurrent-ruby
104104

105105
Collection classes that were originally part of the (deprecated) `thread_safe` gem:
106106

107-
* [Array](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Array.html) A thread-safe
107+
* [Array](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Array.html) A thread-safe
108108
subclass of Ruby's standard [Array](http://ruby-doc.org/core-2.2.0/Array.html).
109-
* [Hash](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Hash.html) A thread-safe
109+
* [Hash](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Hash.html) A thread-safe
110110
subclass of Ruby's standard [Hash](http://ruby-doc.org/core-2.2.0/Hash.html).
111-
* [Set](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Set.html) A thread-safe
111+
* [Set](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Set.html) A thread-safe
112112
subclass of Ruby's standard [Set](http://ruby-doc.org/stdlib-2.4.0/libdoc/set/rdoc/Set.html).
113-
* [Map](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Map.html) A hash-like object
113+
* [Map](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Map.html) A hash-like object
114114
that should have much better performance characteristics, especially under high concurrency,
115115
than `Concurrent::Hash`.
116-
* [Tuple](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Tuple.html) A fixed size
116+
* [Tuple](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Tuple.html) A fixed size
117117
array with volatile (synchronized, thread safe) getters/setters.
118118

119119
Value objects inspired by other languages:
120120

121-
* [Maybe](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Maybe.html) A thread-safe,
121+
* [Maybe](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Maybe.html) A thread-safe,
122122
immutable object representing an optional value, based on
123123
[Haskell Data.Maybe](https://hackage.haskell.org/package/base-4.2.0.1/docs/Data-Maybe.html).
124124

125125
Structure classes derived from Ruby's [Struct](http://ruby-doc.org/core-2.2.0/Struct.html):
126126

127-
* [ImmutableStruct](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ImmutableStruct.html)
127+
* [ImmutableStruct](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ImmutableStruct.html)
128128
Immutable struct where values are set at construction and cannot be changed later.
129-
* [MutableStruct](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/MutableStruct.html)
129+
* [MutableStruct](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/MutableStruct.html)
130130
Synchronized, mutable struct where values can be safely changed at any time.
131-
* [SettableStruct](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/SettableStruct.html)
131+
* [SettableStruct](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/SettableStruct.html)
132132
Synchronized, write-once struct where values can be set at most once, either at construction
133133
or any time thereafter.
134134

135135
Thread-safe variables:
136136

137-
* [Agent](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Agent.html): A way to
137+
* [Agent](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Agent.html): A way to
138138
manage shared, mutable, *asynchronous*, independent state. Based on Clojure's
139139
[Agent](http://clojure.org/agents).
140-
* [Atom](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Atom.html): A way to manage
140+
* [Atom](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Atom.html): A way to manage
141141
shared, mutable, *synchronous*, independent state. Based on Clojure's
142142
[Atom](http://clojure.org/atoms).
143-
* [AtomicBoolean](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/AtomicBoolean.html)
143+
* [AtomicBoolean](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicBoolean.html)
144144
A boolean value that can be updated atomically.
145-
* [AtomicFixnum](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/AtomicFixnum.html)
145+
* [AtomicFixnum](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/AtomicFixnum.html)
146146
A numeric value that can be updated atomically.
147-
* [AtomicReference](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/MutexAtomic.html)
147+
* [AtomicReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/MutexAtomic.html)
148148
An object reference that may be updated atomically.
149-
* [Exchanger](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Exchanger.html)
149+
* [Exchanger](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Exchanger.html)
150150
A synchronization point at which threads can pair and swap elements within pairs. Based on
151151
Java's [Exchanger](http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Exchanger.html).
152-
* [MVar](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/MVar.html) A synchronized
152+
* [MVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/MVar.html) A synchronized
153153
single element container. Based on Haskell's
154154
[MVar](https://hackage.haskell.org/package/base-4.8.1.0/docs/Control-Concurrent-MVar.html) and
155155
Scala's [MVar](http://docs.typelevel.org/api/scalaz/nightly/index.html#scalaz.concurrent.MVar$).
156-
* [ThreadLocalVar](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ThreadLocalVar.html)
156+
* [ThreadLocalVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ThreadLocalVar.html)
157157
A variable where the value is different for each thread.
158-
* [TVar](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/TVar.html) A transactional
158+
* [TVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/TVar.html) A transactional
159159
variable implementing software transactional memory (STM). Based on Clojure's
160160
[Ref](http://clojure.org/refs).
161161

162162
#### Java-inspired ThreadPools and Other Executors
163163

164-
* See the [thread pool](http://ruby-concurrency.github.io/concurrent-ruby/file.thread_pools.html)
164+
* See the [thread pool](http://ruby-concurrency.github.io/concurrent-ruby/master/file.thread_pools.html)
165165
overview, which also contains a list of other Executors available.
166166

167167
#### Thread Synchronization Classes and Algorithms
168168

169-
* [CountDownLatch](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/CountDownLatch.html)
169+
* [CountDownLatch](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/CountDownLatch.html)
170170
A synchronization object that allows one thread to wait on multiple other threads.
171-
* [CyclicBarrier](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/CyclicBarrier.html)
171+
* [CyclicBarrier](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/CyclicBarrier.html)
172172
A synchronization aid that allows a set of threads to all wait for each other to reach a common barrier point.
173-
* [Event](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Event.html) Old school
173+
* [Event](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Event.html) Old school
174174
kernel-style event.
175-
* [ReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ReadWriteLock.html)
175+
* [ReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ReadWriteLock.html)
176176
A lock that supports multiple readers but only one writer.
177-
* [ReentrantReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/ReentrantReadWriteLock.html)
177+
* [ReentrantReadWriteLock](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ReentrantReadWriteLock.html)
178178
A read/write lock with reentrant and upgrade features.
179-
* [Semaphore](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Semaphore.html)
179+
* [Semaphore](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Semaphore.html)
180180
A counting-based locking mechanism that uses permits.
181-
* [AtomicMarkableReference](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Atomic/AtomicMarkableReference.html)
181+
* [AtomicMarkableReference](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Atomic/AtomicMarkableReference.html)
182182

183183
#### Deprecated
184184

185185
Deprecated features are still available and bugs are being fixed, but new features will not be added.
186186

187-
* ~~[Future](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Future.html):
187+
* ~~[Future](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Future.html):
188188
An asynchronous operation that produces a value.~~ Replaced by
189-
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html).
190-
* ~~[Dataflow](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent.html#dataflow-class_method):
189+
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html).
190+
* ~~[Dataflow](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent.html#dataflow-class_method):
191191
Built on Futures, Dataflow allows you to create a task that will be scheduled when all of
192192
its data dependencies are available.~~ Replaced by
193-
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html).
194-
* ~~[Promise](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promise.html): Similar
193+
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html).
194+
* ~~[Promise](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promise.html): Similar
195195
to Futures, with more features.~~ Replaced by
196-
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html).
197-
* ~~[Delay](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Delay.html) Lazy evaluation
196+
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html).
197+
* ~~[Delay](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Delay.html) Lazy evaluation
198198
of a block yielding an immutable result. Based on Clojure's
199199
[delay](https://clojuredocs.org/clojure.core/delay).~~ Replaced by
200-
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html).
201-
* ~~[IVar](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/IVar.html) Similar to a
200+
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html).
201+
* ~~[IVar](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/IVar.html) Similar to a
202202
"future" but can be manually assigned once, after which it becomes immutable.~~ Replaced by
203-
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Promises.html).
203+
[Promises Framework](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises.html).
204204

205205
### Edge Features
206206

@@ -211,18 +211,18 @@ keep backward compatibility (there may also lack tests and documentation). Seman
211211
be obeyed though. Features developed in `concurrent-ruby-edge` are expected to move to
212212
`concurrent-ruby` when final.
213213

214-
* [Actor](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Actor.html): Implements
214+
* [Actor](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Actor.html): Implements
215215
the Actor Model, where concurrent actors exchange messages.
216216
*Status: Partial documentation and tests; depends on new future/promise framework; stability is good.*
217-
* [Channel](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/Channel.html):
217+
* [Channel](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Channel.html):
218218
Communicating Sequential Processes ([CSP](https://en.wikipedia.org/wiki/Communicating_sequential_processes)).
219219
Functionally equivalent to Go [channels](https://tour.golang.org/concurrency/2) with additional
220220
inspiration from Clojure [core.async](https://clojure.github.io/core.async/).
221221
*Status: Partial documentation and tests.*
222-
* [LazyRegister](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/LazyRegister.html)
223-
* [LockFreeLinkedSet](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/Edge/LockFreeLinkedSet.html)
222+
* [LazyRegister](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/LazyRegister.html)
223+
* [LockFreeLinkedSet](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Edge/LockFreeLinkedSet.html)
224224
*Status: will be moved to core soon.*
225-
* [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/Concurrent/LockFreeStack.html)
225+
* [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/LockFreeStack.html)
226226
*Status: missing documentation and tests.*
227227

228228
## Supported Ruby versions

0 commit comments

Comments
 (0)