@@ -117,7 +117,7 @@ Thread-safe variables:
117
117
118
118
### Edge Features
119
119
120
- These are available in the ` concurrent-ruby-edge ` companion gem, installed with ` gem install concurrent-ruby-edge ` .
120
+ These are available in the ` concurrent-ruby-edge ` companion gem.
121
121
122
122
These features are under active development and may change frequently. They are expected not to
123
123
keep backward compatibility (there may also lack tests and documentation). Semantic versions will
@@ -151,46 +151,16 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m
151
151
152
152
## Usage
153
153
154
- All abstractions within this gem can be loaded simply by requiring it:
154
+ Everything within this gem can be loaded simply by requiring it:
155
155
156
156
``` ruby
157
157
require ' concurrent'
158
158
```
159
159
160
- To reduce the amount of code loaded at runtime, subsets of this gem can be required:
160
+ To use the tools in the Edge gem it must be required separately :
161
161
162
162
``` ruby
163
- require ' concurrent' # everything
164
-
165
- # groups
166
-
167
- require ' concurrent/atomics' # atomic and thread synchronization classes
168
- require ' concurrent/executors' # Thread pools and other executors
169
-
170
- # individual abstractions
171
-
172
- require ' concurrent/async' # Concurrent::Async
173
- require ' concurrent/atom' # Concurrent::Atom
174
- require ' concurrent/dataflow' # Concurrent::dataflow
175
- require ' concurrent/delay' # Concurrent::Delay
176
- require ' concurrent/future' # Concurrent::Future
177
- require ' concurrent/immutable_struct' # Concurrent::ImmutableStruct
178
- require ' concurrent/ivar' # Concurrent::IVar
179
- require ' concurrent/maybe' # Concurrent::Maybe
180
- require ' concurrent/mutable_struct' # Concurrent::MutableStruct
181
- require ' concurrent/mvar' # Concurrent::MVar
182
- require ' concurrent/promise' # Concurrent::Promise
183
- require ' concurrent/scheduled_task' # Concurrent::ScheduledTask
184
- require ' concurrent/settable_struct' # Concurrent::SettableStruct
185
- require ' concurrent/timer_task' # Concurrent::TimerTask
186
- require ' concurrent/tvar' # Concurrent::TVar
187
-
188
- # experimental - available in `concurrent-ruby-edge` companion gem
189
-
190
- require ' concurrent/actor' # Concurrent::Actor and supporting code
191
- require ' concurrent/edge/future' # new Future Framework
192
- require ' concurrent/agent' # Concurrent::Agent
193
- require ' concurrent/channel' # Concurrent::Channel and supporting code
163
+ require ' concurrent-edge'
194
164
```
195
165
196
166
If the library does not behave as expected, ` Concurrent.use_stdlib_logger(Logger::DEBUG) ` could help to reveal the problem.
@@ -209,6 +179,23 @@ gem 'concurrent-ruby'
209
179
210
180
and run ` bundle install ` from your shell.
211
181
182
+ ### Edge Gem Installation
183
+
184
+ The Edge gem must be installed separately from the core gem:
185
+
186
+ ``` shell
187
+ gem install concurrent-ruby-edge
188
+ ```
189
+
190
+ or add the following line to Gemfile:
191
+
192
+ ``` ruby
193
+ gem ' concurrent-ruby-edge'
194
+ ```
195
+
196
+ and run ` bundle install ` from your shell.
197
+
198
+
212
199
### C Extensions for MRI
213
200
214
201
Potential performance improvements may be achieved under MRI by installing optional C extensions.
0 commit comments