concurrent-ruby-edge 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -3
- data/README.md +1 -1
- data/lib/concurrent-ruby-edge/concurrent/actor/context.rb +2 -2
- data/lib/concurrent-ruby-edge/concurrent/actor/internal_delegations.rb +2 -2
- data/lib/concurrent-ruby-edge/concurrent/edge/erlang_actor.rb +9 -9
- data/lib/concurrent-ruby-edge/concurrent/edge/lock_free_linked_set/node.rb +1 -1
- data/lib/concurrent-ruby-edge/concurrent/edge/old_channel_integration.rb +1 -1
- data/lib/concurrent-ruby-edge/concurrent/edge/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49ac7d114fd8cc70d9ac7fc1b8d30ea32c1a66218d82a7bdaba76313572db202
|
4
|
+
data.tar.gz: 8fd63d74f5570722b8eb02017ec4a08e8f3acc05b67296872d817723a4ddb06e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1320cc36f4118c91aff14ed71608cd57740cbae0d3559f373744ebf14ccd3deb528131c773ee6924b0244aef65278036108a7b497f43678b7607a9cdb51b699
|
7
|
+
data.tar.gz: 83f02dcf8196c3385a43716113e532760dd17610e7397970062cf0e0e4d409fe8e706032fae46db8f4112a69d9d75ce2af38639278597b2e00f2dcc43e1d24ac
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,29 @@
|
|
1
1
|
## Current
|
2
2
|
|
3
|
-
##
|
3
|
+
## Release v1.3.5, edge v0.7.2 (15 January 2025)
|
4
|
+
|
5
|
+
concurrent-ruby:
|
6
|
+
|
7
|
+
* (#1062) Remove dependency on logger.
|
8
|
+
|
9
|
+
concurrent-ruby-edge:
|
10
|
+
|
11
|
+
* (#1062) Remove dependency on logger.
|
12
|
+
|
13
|
+
## Release v1.3.4 (10 August 2024)
|
14
|
+
|
15
|
+
* (#1060) Fix bug with return value of `Concurrent.available_processor_count` when `cpu.cfs_quota_us` is -1.
|
16
|
+
* (#1058) Add `Concurrent.cpu_shares` that is cgroups aware.
|
17
|
+
|
18
|
+
## Release v1.3.3 (9 June 2024)
|
19
|
+
|
20
|
+
* (#1053) Improve the speed of `Concurrent.physical_processor_count` on Windows.
|
21
|
+
|
22
|
+
## Release v1.3.2, edge v0.7.1 (7 June 2024)
|
23
|
+
|
24
|
+
concurrent-ruby:
|
25
|
+
|
26
|
+
* (#1051) Remove dependency on `win32ole`.
|
4
27
|
|
5
28
|
concurrent-ruby-edge:
|
6
29
|
|
@@ -283,7 +306,7 @@ concurrent-ruby-edge:
|
|
283
306
|
* Simplification of `RubySingleThreadExecutor`
|
284
307
|
* `Async` improvements
|
285
308
|
- Each object uses its own `SingleThreadExecutor` instead of the global thread pool.
|
286
|
-
- No
|
309
|
+
- No longer supports executor injection
|
287
310
|
- Much better documentation
|
288
311
|
* `Atom` updates
|
289
312
|
- No longer `Dereferenceable`
|
@@ -458,7 +481,7 @@ Please see the [roadmap](https://github.com/ruby-concurrency/concurrent-ruby/iss
|
|
458
481
|
* Fixed bug with return value of `Concurrent::Actor::Utils::Pool#ask`
|
459
482
|
* Fixed timing bug in `TimerTask`
|
460
483
|
* Fixed bug when creating a `JavaThreadPoolExecutor` with minimum pool size of zero
|
461
|
-
* Removed confusing warning when not using native
|
484
|
+
* Removed confusing warning when not using native extensions
|
462
485
|
* Improved documentation
|
463
486
|
|
464
487
|
## Release v0.7.0 (13 August 2014)
|
data/README.md
CHANGED
@@ -284,7 +284,7 @@ To use the tools in the Edge gem it must be required separately:
|
|
284
284
|
require 'concurrent-edge'
|
285
285
|
```
|
286
286
|
|
287
|
-
If the library does not behave as expected, `Concurrent.
|
287
|
+
If the library does not behave as expected, `Concurrent.use_simple_logger(:DEBUG)` could
|
288
288
|
help to reveal the problem.
|
289
289
|
|
290
290
|
## Installation
|
@@ -84,7 +84,7 @@ module Concurrent
|
|
84
84
|
Reference
|
85
85
|
end
|
86
86
|
|
87
|
-
# override to se different default executor, e.g. to change it to
|
87
|
+
# override to se different default executor, e.g. to change it to global_fast_executor
|
88
88
|
# @return [Executor]
|
89
89
|
def default_executor
|
90
90
|
Concurrent.global_io_executor
|
@@ -109,7 +109,7 @@ module Concurrent
|
|
109
109
|
# @example by option hash
|
110
110
|
# inc2 = AdHoc.spawn(name: 'increment by 2',
|
111
111
|
# args: [2],
|
112
|
-
# executor: Concurrent.
|
112
|
+
# executor: Concurrent.global_fast_executor) do |increment_by|
|
113
113
|
# lambda { |number| number + increment_by }
|
114
114
|
# end
|
115
115
|
# inc2.ask!(2) # => 4
|
@@ -1,11 +1,11 @@
|
|
1
|
-
require '
|
1
|
+
require 'concurrent/concern/logging'
|
2
2
|
require 'concurrent/actor/public_delegations'
|
3
3
|
|
4
4
|
module Concurrent
|
5
5
|
module Actor
|
6
6
|
module InternalDelegations
|
7
7
|
include PublicDelegations
|
8
|
-
include
|
8
|
+
include Concurrent::Concern::Logging
|
9
9
|
|
10
10
|
# @see Core#children
|
11
11
|
def children
|
@@ -674,7 +674,7 @@ module Concurrent
|
|
674
674
|
end
|
675
675
|
|
676
676
|
def tell_op(message)
|
677
|
-
log
|
677
|
+
log DEBUG, @Pid, told: message
|
678
678
|
if (mailbox = @Mailbox)
|
679
679
|
mailbox.push_op(message).then { @Pid }
|
680
680
|
else
|
@@ -683,7 +683,7 @@ module Concurrent
|
|
683
683
|
end
|
684
684
|
|
685
685
|
def tell(message, timeout = nil)
|
686
|
-
log
|
686
|
+
log DEBUG, @Pid, told: message
|
687
687
|
if (mailbox = @Mailbox)
|
688
688
|
timed_out = mailbox.push message, timeout
|
689
689
|
timeout ? timed_out : @Pid
|
@@ -693,7 +693,7 @@ module Concurrent
|
|
693
693
|
end
|
694
694
|
|
695
695
|
def ask(message, timeout, timeout_value)
|
696
|
-
log
|
696
|
+
log DEBUG, @Pid, asked: message
|
697
697
|
if @Terminated.resolved?
|
698
698
|
raise NoActor.new(@Pid)
|
699
699
|
else
|
@@ -724,7 +724,7 @@ module Concurrent
|
|
724
724
|
end
|
725
725
|
|
726
726
|
def ask_op(message, probe)
|
727
|
-
log
|
727
|
+
log DEBUG, @Pid, asked: message
|
728
728
|
if @Terminated.resolved?
|
729
729
|
probe.reject NoActor.new(@Pid), false
|
730
730
|
else
|
@@ -1029,7 +1029,7 @@ module Concurrent
|
|
1029
1029
|
end
|
1030
1030
|
|
1031
1031
|
def after_termination(final_reason)
|
1032
|
-
log
|
1032
|
+
log DEBUG, @Pid, terminated: final_reason
|
1033
1033
|
clean_reply NoActor.new(@Pid)
|
1034
1034
|
while true
|
1035
1035
|
message = @Mailbox.try_pop NOTHING
|
@@ -1071,7 +1071,7 @@ module Concurrent
|
|
1071
1071
|
inner_run(*args, &body).
|
1072
1072
|
run(Run::TEST).
|
1073
1073
|
then(&method(:after_termination)).
|
1074
|
-
rescue { |e| log
|
1074
|
+
rescue { |e| log ERROR, e }
|
1075
1075
|
end
|
1076
1076
|
|
1077
1077
|
def receive(*rules, timeout: nil, timeout_value: nil, keep: false, &given_block)
|
@@ -1163,7 +1163,7 @@ module Concurrent
|
|
1163
1163
|
end
|
1164
1164
|
|
1165
1165
|
message_future.then(start, self) do |message, s, _actor|
|
1166
|
-
log
|
1166
|
+
log DEBUG, pid, got: message
|
1167
1167
|
catch(JUMP) do
|
1168
1168
|
if (message = consume_signal(message)) == NOTHING
|
1169
1169
|
@timeout = [@timeout + s - Concurrent.monotonic_time, 0].max if s
|
@@ -1230,7 +1230,7 @@ module Concurrent
|
|
1230
1230
|
matcher = -> m { m.is_a?(Ask) ? rules_matcher === m.message : rules_matcher === m }
|
1231
1231
|
while true
|
1232
1232
|
message = @Mailbox.pop_matching(matcher, timeout, TIMEOUT)
|
1233
|
-
log
|
1233
|
+
log DEBUG, pid, got: message
|
1234
1234
|
unless (message = consume_signal(message)) == NOTHING
|
1235
1235
|
rules.each do |rule, job|
|
1236
1236
|
return eval_task(message, job) if rule === message
|
@@ -1535,7 +1535,7 @@ module Concurrent
|
|
1535
1535
|
def self.create(type, channel, environment, name, executor)
|
1536
1536
|
actor = KLASS_MAP.fetch(type).new(channel, environment, name, executor)
|
1537
1537
|
ensure
|
1538
|
-
log
|
1538
|
+
log Concern::Logging::DEBUG, actor.pid, created: caller[1] if actor
|
1539
1539
|
end
|
1540
1540
|
|
1541
1541
|
KLASS_MAP = {
|
@@ -38,7 +38,7 @@ module Concurrent
|
|
38
38
|
@SuccessorReference.value
|
39
39
|
end
|
40
40
|
|
41
|
-
# This method provides a
|
41
|
+
# This method provides a unique key for the data which will be used for
|
42
42
|
# ordering. This is configurable, and changes depending on how you wish
|
43
43
|
# the nodes to be ordered.
|
44
44
|
def key_for(data)
|
@@ -36,7 +36,7 @@ module Concurrent
|
|
36
36
|
|
37
37
|
# @!visibility private
|
38
38
|
|
39
|
-
# Zips with selected value form the
|
39
|
+
# Zips with selected value form the supplied channels
|
40
40
|
# @return [Future]
|
41
41
|
def then_select(*channels)
|
42
42
|
future = Concurrent::Promises.select(*channels)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: concurrent-ruby-edge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jerry D'Antonio
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-01-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: concurrent-ruby
|