concurrent-ruby-edge 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|