polyphony 0.49.0 → 0.49.1
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 +6 -0
- data/Gemfile.lock +1 -1
- data/TODO.md +3 -2
- data/ext/polyphony/backend_io_uring.c +1 -1
- data/lib/polyphony.rb +1 -1
- data/lib/polyphony/adapters/process.rb +2 -0
- data/lib/polyphony/net.rb +3 -6
- data/lib/polyphony/version.rb +1 -1
- data/test/test_timer.rb +6 -4
- 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: 4d455bffada65a186f47a33dec9a29bf81a8a025b4c536a0d3136e256a3aaa55
|
4
|
+
data.tar.gz: '094f9bae247c640ac2ea721625b5dd4b58ae4943186bfc015c9c830117a9dbee'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8a462663b9e1bca1f99b301c8d904b5fad091851dff9cf5af785bf3a76802ddeb5904565b4a79e916b8a4b97001181a48bed7a56dadf1143dfc11d9ae7762d2
|
7
|
+
data.tar.gz: 68765d941201a2d74ae1e8cc20a9ea3c6fba9e68b6a552dc65a399a7ad8853a619a259ebc1dc705cdb2f3eae77adee4098de1186212755f7d87064bbaaf125f8
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/TODO.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
- Check segfault when
|
1
|
+
- Check segfault when resetting a `cancel_after` timeout lots of times at very high rate
|
2
|
+
- Check why `throttled_loop` inside of `move_on_after` fails to stop
|
2
3
|
|
3
|
-
- Override stock
|
4
|
+
- Override stock `::SizedQueue` impl with Queue with capacity
|
4
5
|
|
5
6
|
- Add support for `break` and `StopIteration` in all loops (with tests)
|
6
7
|
|
@@ -72,7 +72,7 @@ static VALUE Backend_initialize(VALUE self) {
|
|
72
72
|
backend->pending_count = 0;
|
73
73
|
backend->poll_no_wait_count = 0;
|
74
74
|
backend->pending_sqes = 0;
|
75
|
-
backend->prepared_limit =
|
75
|
+
backend->prepared_limit = 2048;
|
76
76
|
|
77
77
|
context_store_initialize(&backend->store);
|
78
78
|
io_uring_queue_init(backend->prepared_limit, &backend->ring, 0);
|
data/lib/polyphony.rb
CHANGED
data/lib/polyphony/net.rb
CHANGED
@@ -8,10 +8,7 @@ module Polyphony
|
|
8
8
|
module Net
|
9
9
|
class << self
|
10
10
|
def tcp_connect(host, port, opts = {})
|
11
|
-
socket =
|
12
|
-
addr = ::Socket.sockaddr_in(port, host)
|
13
|
-
s.connect(addr)
|
14
|
-
end
|
11
|
+
socket = TCPSocket.new(host, port)
|
15
12
|
if opts[:secure_context] || opts[:secure]
|
16
13
|
secure_socket(socket, opts[:secure_context], opts.merge(host: host))
|
17
14
|
else
|
@@ -23,7 +20,7 @@ module Polyphony
|
|
23
20
|
host ||= '0.0.0.0'
|
24
21
|
raise 'Port number not specified' unless port
|
25
22
|
|
26
|
-
socket =
|
23
|
+
socket = listening_socket_from_options(host, port, opts)
|
27
24
|
if opts[:secure_context] || opts[:secure]
|
28
25
|
secure_server(socket, opts[:secure_context], opts)
|
29
26
|
else
|
@@ -31,7 +28,7 @@ module Polyphony
|
|
31
28
|
end
|
32
29
|
end
|
33
30
|
|
34
|
-
def
|
31
|
+
def listening_socket_from_options(host, port, opts)
|
35
32
|
::Socket.new(:INET, :STREAM).tap do |s|
|
36
33
|
s.reuse_addr if opts[:reuse_addr]
|
37
34
|
s.dont_linger if opts[:dont_linger]
|
data/lib/polyphony/version.rb
CHANGED
data/test/test_timer.rb
CHANGED
@@ -31,13 +31,15 @@ class TimerMoveOnAfterTest < MiniTest::Test
|
|
31
31
|
end
|
32
32
|
t1 = Time.now
|
33
33
|
|
34
|
-
assert_in_range 0.01..0.
|
34
|
+
assert_in_range 0.01..0.025, t1 - t0
|
35
35
|
assert_equal :bar, v
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_move_on_after_with_reset
|
39
39
|
t0 = Time.now
|
40
40
|
v = @timer.move_on_after(0.01, with_value: :moved_on) do
|
41
|
+
sleep 0.007
|
42
|
+
@timer.reset
|
41
43
|
sleep 0.007
|
42
44
|
@timer.reset
|
43
45
|
sleep 0.007
|
@@ -46,11 +48,11 @@ class TimerMoveOnAfterTest < MiniTest::Test
|
|
46
48
|
t1 = Time.now
|
47
49
|
|
48
50
|
assert_nil v
|
49
|
-
assert_in_range 0.
|
51
|
+
assert_in_range 0.02..0.03, t1 - t0
|
50
52
|
end
|
51
53
|
end
|
52
54
|
|
53
|
-
class
|
55
|
+
class TimerCancelAfterTest < MiniTest::Test
|
54
56
|
def setup
|
55
57
|
@timer = Polyphony::Timer.new(resolution: 0.01)
|
56
58
|
end
|
@@ -69,7 +71,7 @@ class CancelAfterTest < MiniTest::Test
|
|
69
71
|
end
|
70
72
|
end
|
71
73
|
t1 = Time.now
|
72
|
-
assert_in_range 0.01..0.
|
74
|
+
assert_in_range 0.01..0.03, t1 - t0
|
73
75
|
end
|
74
76
|
|
75
77
|
def test_cancel_after_with_reset
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: polyphony
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.49.
|
4
|
+
version: 0.49.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sharon Rosner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|