uringmachine 0.31.0 → 0.32.0
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 +4 -0
- data/README.md +36 -37
- data/TODO.md +18 -55
- data/benchmark/bm_io_pipe.rb +2 -2
- data/benchmark/common.rb +16 -16
- data/benchmark/gets.rb +7 -7
- data/benchmark/gets_concurrent.rb +12 -12
- data/benchmark/http_parse.rb +11 -11
- data/benchmark/http_server_accept_queue.rb +7 -7
- data/benchmark/http_server_multi_accept.rb +7 -7
- data/benchmark/http_server_multi_ractor.rb +7 -7
- data/benchmark/http_server_single_thread.rb +8 -8
- data/benchmark/openssl.rb +4 -4
- data/examples/fiber_concurrency_io.rb +1 -1
- data/examples/fiber_concurrency_um.rb +16 -0
- data/examples/io_uring_simple.c +13 -4
- data/examples/pg.rb +2 -2
- data/examples/um_cancellation.rb +20 -0
- data/examples/um_fiber_scheduler.rb +10 -0
- data/examples/um_io.rb +19 -0
- data/examples/um_mo.c +32 -0
- data/examples/um_multishot.rb +15 -0
- data/examples/um_ssl.rb +11 -0
- data/ext/um/um.h +19 -19
- data/ext/um/um_ext.c +2 -4
- data/ext/um/{um_connection.c → um_io.c} +210 -210
- data/ext/um/{um_connection_class.c → um_io_class.c} +102 -102
- data/lib/uringmachine/version.rb +1 -1
- data/lib/uringmachine.rb +12 -12
- data/test/{test_connection.rb → test_io.rb} +29 -29
- data/test/test_um.rb +7 -7
- metadata +13 -6
data/test/test_um.rb
CHANGED
|
@@ -3506,7 +3506,7 @@ class SetChildSubreaperTest < Minitest::Test
|
|
|
3506
3506
|
end
|
|
3507
3507
|
end
|
|
3508
3508
|
|
|
3509
|
-
class
|
|
3509
|
+
class IOMethodTest < UMBaseTest
|
|
3510
3510
|
def setup
|
|
3511
3511
|
super
|
|
3512
3512
|
@rfd, @wfd = UM.pipe
|
|
@@ -3519,12 +3519,12 @@ class ConnectionMethodTest < UMBaseTest
|
|
|
3519
3519
|
super
|
|
3520
3520
|
end
|
|
3521
3521
|
|
|
3522
|
-
def
|
|
3522
|
+
def test_io_method
|
|
3523
3523
|
machine.write(@wfd, "foobar")
|
|
3524
3524
|
machine.close(@wfd)
|
|
3525
3525
|
|
|
3526
|
-
conn = machine.
|
|
3527
|
-
assert_kind_of UM::
|
|
3526
|
+
conn = machine.io(@rfd)
|
|
3527
|
+
assert_kind_of UM::IO, conn
|
|
3528
3528
|
|
|
3529
3529
|
buf = conn.read(3)
|
|
3530
3530
|
assert_equal 'foo', buf
|
|
@@ -3536,13 +3536,13 @@ class ConnectionMethodTest < UMBaseTest
|
|
|
3536
3536
|
conn.clear
|
|
3537
3537
|
end
|
|
3538
3538
|
|
|
3539
|
-
def
|
|
3539
|
+
def test_io_method_with_block
|
|
3540
3540
|
machine.write(@wfd, "foobar")
|
|
3541
3541
|
machine.close(@wfd)
|
|
3542
3542
|
|
|
3543
3543
|
bufs = []
|
|
3544
3544
|
conn_obj = nil
|
|
3545
|
-
res = machine.
|
|
3545
|
+
res = machine.io(@rfd) do |s|
|
|
3546
3546
|
conn_obj = s
|
|
3547
3547
|
|
|
3548
3548
|
bufs << s.read(3)
|
|
@@ -3551,7 +3551,7 @@ class ConnectionMethodTest < UMBaseTest
|
|
|
3551
3551
|
:foo
|
|
3552
3552
|
end
|
|
3553
3553
|
|
|
3554
|
-
assert_kind_of UM::
|
|
3554
|
+
assert_kind_of UM::IO, conn_obj
|
|
3555
3555
|
assert conn_obj.eof?
|
|
3556
3556
|
assert_equal ['foo', 'bar'], bufs
|
|
3557
3557
|
assert_equal :foo, res
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: uringmachine
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.32.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sharon Rosner
|
|
@@ -26,10 +26,10 @@ extra_rdoc_files:
|
|
|
26
26
|
- ext/um/um_async_op_class.c
|
|
27
27
|
- ext/um/um_buffer_pool.c
|
|
28
28
|
- ext/um/um_class.c
|
|
29
|
-
- ext/um/um_connection.c
|
|
30
|
-
- ext/um/um_connection_class.c
|
|
31
29
|
- ext/um/um_const.c
|
|
32
30
|
- ext/um/um_ext.c
|
|
31
|
+
- ext/um/um_io.c
|
|
32
|
+
- ext/um/um_io_class.c
|
|
33
33
|
- ext/um/um_mutex_class.c
|
|
34
34
|
- ext/um/um_op.c
|
|
35
35
|
- ext/um/um_queue_class.c
|
|
@@ -93,6 +93,7 @@ files:
|
|
|
93
93
|
- examples/fiber_concurrency_io.rb
|
|
94
94
|
- examples/fiber_concurrency_naive.rb
|
|
95
95
|
- examples/fiber_concurrency_runqueue.rb
|
|
96
|
+
- examples/fiber_concurrency_um.rb
|
|
96
97
|
- examples/fiber_scheduler_demo.rb
|
|
97
98
|
- examples/fiber_scheduler_file_io.rb
|
|
98
99
|
- examples/fiber_scheduler_file_io_async.rb
|
|
@@ -106,6 +107,12 @@ files:
|
|
|
106
107
|
- examples/server_client.rb
|
|
107
108
|
- examples/snooze.rb
|
|
108
109
|
- examples/stream.rb
|
|
110
|
+
- examples/um_cancellation.rb
|
|
111
|
+
- examples/um_fiber_scheduler.rb
|
|
112
|
+
- examples/um_io.rb
|
|
113
|
+
- examples/um_mo.c
|
|
114
|
+
- examples/um_multishot.rb
|
|
115
|
+
- examples/um_ssl.rb
|
|
109
116
|
- examples/write_dev_null.rb
|
|
110
117
|
- ext/um/extconf.rb
|
|
111
118
|
- ext/um/um.c
|
|
@@ -114,10 +121,10 @@ files:
|
|
|
114
121
|
- ext/um/um_async_op_class.c
|
|
115
122
|
- ext/um/um_buffer_pool.c
|
|
116
123
|
- ext/um/um_class.c
|
|
117
|
-
- ext/um/um_connection.c
|
|
118
|
-
- ext/um/um_connection_class.c
|
|
119
124
|
- ext/um/um_const.c
|
|
120
125
|
- ext/um/um_ext.c
|
|
126
|
+
- ext/um/um_io.c
|
|
127
|
+
- ext/um/um_io_class.c
|
|
121
128
|
- ext/um/um_mutex_class.c
|
|
122
129
|
- ext/um/um_op.c
|
|
123
130
|
- ext/um/um_queue_class.c
|
|
@@ -139,9 +146,9 @@ files:
|
|
|
139
146
|
- test/run.rb
|
|
140
147
|
- test/test_actor.rb
|
|
141
148
|
- test/test_async_op.rb
|
|
142
|
-
- test/test_connection.rb
|
|
143
149
|
- test/test_fiber.rb
|
|
144
150
|
- test/test_fiber_scheduler.rb
|
|
151
|
+
- test/test_io.rb
|
|
145
152
|
- test/test_ssl.rb
|
|
146
153
|
- test/test_um.rb
|
|
147
154
|
- uringmachine.gemspec
|