concurrent-ruby-ext 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +34 -2
  4. metadata +5 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9143fa999c0928c5f5b076ea3f89c4f27c20d13a96f4977a79e1446fb9c19e31
4
- data.tar.gz: ae6fe918f266f1f8dfbdd2bd2107ab04d5b741f51e611e0942d7e5f77db9c68a
3
+ metadata.gz: c831cd17f284bd6a23b6c0ea1e9ac9275c51d90cc00417abacee043a34250290
4
+ data.tar.gz: bc3d180bbd6fa97364ca7e4c6dd356485e5e31df7b7a8712aeebe5f276bcbe04
5
5
  SHA512:
6
- metadata.gz: d22a0c6fc4f7ee0df7d910060e03b5501b725124690b2a375dab25db9491a84e34892238f9469e5d086842b19f13480cd4b7f02d1972e86d49c04bb5ceabf0ab
7
- data.tar.gz: 9df082f1cd380b7f949f3592b00fa730f580838f6aec86acb00166e2d59cfc784b8af907c46226614590065080fb6331da6539180d6afb0fb67f150b94f31127
6
+ metadata.gz: d7a35aa4c0594c1906f5a87a481cfd9b1c5376c298163781ab3ea231376f60a8bfaa793db30050cc02a6439f8673d84100fae410519d000a344cf266f82f5dd9
7
+ data.tar.gz: c826479de2e805245a5cd042e7dac8e6a58aab3503b5d8af4877ca0784a942f42af5da14e7f83a5ec44c95d554568f422417426d013d05c495dbd63482c3ae1b
@@ -1,5 +1,18 @@
1
1
  ## Current
2
2
 
3
+ ## Release v1.1.5, edge v0.5.0 (10 mar 2019)
4
+
5
+ concurrent-ruby:
6
+
7
+ * fix potential leak of context on JRuby and Java 7
8
+
9
+ concurrent-ruby-edge:
10
+
11
+ * Add finalized Concurrent::Cancellation
12
+ * Add finalized Concurrent::Throttle
13
+ * Add finalized Concurrent::Promises::Channel
14
+ * Add new Concurrent::ErlangActor
15
+
3
16
  ## Release v1.1.4 (14 Dec 2018)
4
17
 
5
18
  * (#780) Remove java_alias of 'submit' method of Runnable to let executor service work on java 11
data/README.md CHANGED
@@ -42,7 +42,7 @@ appreciate your help. Would you like to contribute? Great! Have a look at
42
42
  ## Thread Safety
43
43
 
44
44
  *Concurrent Ruby makes one of the strongest thread safety guarantees of any Ruby concurrency
45
- library, providing consistent behavior and guarantees on all three of the main Ruby interpreters
45
+ library, providing consistent behavior and guarantees on all four of the main Ruby interpreters
46
46
  (MRI/CRuby, JRuby, Rubinius, TruffleRuby).*
47
47
 
48
48
  Every abstraction in this library is thread safe. Specific thread safety guarantees are documented
@@ -224,6 +224,35 @@ be obeyed though. Features developed in `concurrent-ruby-edge` are expected to m
224
224
  *Status: will be moved to core soon.*
225
225
  * [LockFreeStack](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/LockFreeStack.html)
226
226
  *Status: missing documentation and tests.*
227
+ * [Promises::Channel](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Promises/Channel.html)
228
+ A first in first out channel that accepts messages with push family of methods and returns
229
+ messages with pop family of methods.
230
+ Pop and push operations can be represented as futures, see `#pop_op` and `#push_op`.
231
+ The capacity of the channel can be limited to support back pressure, use capacity option in `#initialize`.
232
+ `#pop` method blocks ans `#pop_op` returns pending future if there is no message in the channel.
233
+ If the capacity is limited the `#push` method blocks and `#push_op` returns pending future.
234
+ * [Cancellation](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Cancellation.html)
235
+ The Cancellation abstraction provides cooperative cancellation.
236
+
237
+ The standard methods `Thread#raise` of `Thread#kill` available in Ruby
238
+ are very dangerous (see linked the blog posts bellow).
239
+ Therefore concurrent-ruby provides an alternative.
240
+
241
+ * <https://jvns.ca/blog/2015/11/27/why-rubys-timeout-is-dangerous-and-thread-dot-raise-is-terrifying/>
242
+ * <http://www.mikeperham.com/2015/05/08/timeout-rubys-most-dangerous-api/>
243
+ * <http://blog.headius.com/2008/02/rubys-threadraise-threadkill-timeoutrb.html>
244
+
245
+ It provides an object which represents a task which can be executed,
246
+ the task has to get the reference to the object and periodically cooperatively check that it is not cancelled.
247
+ Good practices to make tasks cancellable:
248
+ * check cancellation every cycle of a loop which does significant work,
249
+ * do all blocking actions in a loop with a timeout then on timeout check cancellation
250
+ and if ok block again with the timeout
251
+ * [Throttle](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/Throttle.html)
252
+ A tool managing concurrency level of tasks.
253
+ * [ErlangActor](http://ruby-concurrency.github.io/concurrent-ruby/master/Concurrent/ErlangActor.html)
254
+ Actor implementation which precisely matches Erlang actor behaviour.
255
+ Requires at least Ruby 2.1 otherwise it's not loaded.
227
256
 
228
257
  ## Supported Ruby versions
229
258
 
@@ -339,11 +368,14 @@ and to the past maintainers
339
368
  * [Paweł Obrok](https://github.com/obrok)
340
369
  * [Lucas Allan](https://github.com/lucasallan)
341
370
 
371
+ and to [Ruby Association](https://www.ruby.or.jp/en/) for sponsoring a project
372
+ ["Enhancing Ruby’s concurrency tooling"](https://www.ruby.or.jp/en/news/20181106) in 2018.
373
+
342
374
  ## License and Copyright
343
375
 
344
376
  *Concurrent Ruby* is free software released under the
345
377
  [MIT License](http://www.opensource.org/licenses/MIT).
346
378
 
347
- The *Concurrent Ruby* [logo](https://github.com/ruby-concurrency/concurrent-ruby/wiki/Logo) was
379
+ The *Concurrent Ruby* [logo](https://raw.githubusercontent.com/ruby-concurrency/concurrent-ruby/master/docs-source/logo/concurrent-ruby-logo-300x300.png) was
348
380
  designed by [David Jones](https://twitter.com/zombyboy). It is Copyright &copy; 2014
349
381
  [Jerry D'Antonio](https://twitter.com/jerrydantonio). All Rights Reserved.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concurrent-ruby-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerry D'Antonio
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-12-14 00:00:00.000000000 Z
12
+ date: 2019-03-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 1.1.4
20
+ version: 1.1.5
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 1.1.4
27
+ version: 1.1.5
28
28
  description: |2
29
29
  C extensions to optimize the concurrent-ruby gem when running under MRI.
30
30
  Please see http://concurrent-ruby.com for more information.
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  version: '0'
70
70
  requirements: []
71
71
  rubyforge_project:
72
- rubygems_version: 2.7.3
72
+ rubygems_version: 2.7.8
73
73
  signing_key:
74
74
  specification_version: 4
75
75
  summary: C extensions to optimize concurrent-ruby under MRI.