uringmachine 0.8.2 → 0.11

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.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/TODO.md +0 -1
  4. data/examples/bm_side_running.rb +83 -0
  5. data/examples/bm_sqlite.rb +1 -1
  6. data/ext/um/um.c +66 -4
  7. data/ext/um/um.h +36 -0
  8. data/ext/um/um_class.c +6 -0
  9. data/ext/um/um_const.c +36 -0
  10. data/ext/um/um_ext.c +2 -0
  11. data/ext/um/um_stream.c +344 -0
  12. data/ext/um/um_stream_class.c +140 -0
  13. data/ext/um/um_utils.c +4 -0
  14. data/lib/uringmachine/actor.rb +1 -1
  15. data/lib/uringmachine/version.rb +1 -1
  16. data/lib/uringmachine.rb +35 -17
  17. data/test/test_fiber.rb +23 -3
  18. data/test/test_stream.rb +133 -0
  19. data/test/test_um.rb +109 -2
  20. data/uringmachine.gemspec +0 -2
  21. data/vendor/liburing/.github/workflows/{build.yml → ci.yml} +107 -42
  22. data/vendor/liburing/.gitignore +1 -0
  23. data/vendor/liburing/CHANGELOG +10 -0
  24. data/vendor/liburing/README +5 -0
  25. data/vendor/liburing/configure +1 -1
  26. data/vendor/liburing/examples/Makefile +1 -0
  27. data/vendor/liburing/examples/helpers.c +25 -0
  28. data/vendor/liburing/examples/helpers.h +13 -0
  29. data/vendor/liburing/examples/io_uring-test.c +3 -0
  30. data/vendor/liburing/examples/proxy.c +1 -1
  31. data/vendor/liburing/examples/reg-wait.c +41 -6
  32. data/vendor/liburing/examples/send-zerocopy.c +79 -32
  33. data/vendor/liburing/examples/zcrx.c +436 -0
  34. data/vendor/liburing/liburing.spec +1 -1
  35. data/vendor/liburing/src/Makefile +0 -1
  36. data/vendor/liburing/src/arch/generic/syscall.h +2 -2
  37. data/vendor/liburing/src/arch/syscall-defs.h +2 -2
  38. data/vendor/liburing/src/include/liburing/io_uring.h +101 -17
  39. data/vendor/liburing/src/include/liburing.h +179 -59
  40. data/vendor/liburing/src/int_flags.h +4 -1
  41. data/vendor/liburing/src/liburing-ffi.map +14 -2
  42. data/vendor/liburing/src/liburing.map +9 -2
  43. data/vendor/liburing/src/queue.c +35 -30
  44. data/vendor/liburing/src/register.c +46 -15
  45. data/vendor/liburing/src/sanitize.c +6 -9
  46. data/vendor/liburing/src/setup.c +37 -71
  47. data/vendor/liburing/src/syscall.c +2 -2
  48. data/vendor/liburing/test/232c93d07b74.c +1 -0
  49. data/vendor/liburing/test/Makefile +9 -0
  50. data/vendor/liburing/test/accept-test.c +1 -0
  51. data/vendor/liburing/test/cmd-discard.c +16 -8
  52. data/vendor/liburing/test/connect.c +11 -7
  53. data/vendor/liburing/test/epwait.c +420 -0
  54. data/vendor/liburing/test/eventfd-ring.c +30 -5
  55. data/vendor/liburing/test/fallocate.c +1 -1
  56. data/vendor/liburing/test/fixed-hugepage.c +10 -7
  57. data/vendor/liburing/test/fixed-seg.c +187 -0
  58. data/vendor/liburing/test/helpers.c +121 -0
  59. data/vendor/liburing/test/helpers.h +13 -0
  60. data/vendor/liburing/test/init-mem.c +2 -0
  61. data/vendor/liburing/test/io_uring_passthrough.c +78 -62
  62. data/vendor/liburing/test/iopoll-overflow.c +5 -4
  63. data/vendor/liburing/test/iopoll.c +20 -10
  64. data/vendor/liburing/test/iowait.c +141 -0
  65. data/vendor/liburing/test/nvme.h +2 -0
  66. data/vendor/liburing/test/pipe-bug.c +11 -5
  67. data/vendor/liburing/test/pipe-eof.c +11 -1
  68. data/vendor/liburing/test/read-inc-file.c +150 -0
  69. data/vendor/liburing/test/read-write.c +21 -14
  70. data/vendor/liburing/test/recv-bundle-short-ooo.c +435 -0
  71. data/vendor/liburing/test/recv-multishot.c +2 -2
  72. data/vendor/liburing/test/reg-wait.c +449 -120
  73. data/vendor/liburing/test/regbuf-clone.c +53 -0
  74. data/vendor/liburing/test/resize-rings.c +25 -2
  75. data/vendor/liburing/test/rsrc_tags.c +67 -14
  76. data/vendor/liburing/test/send-zerocopy.c +52 -130
  77. data/vendor/liburing/test/sendmsg_iov_clean.c +216 -0
  78. data/vendor/liburing/test/socket-nb.c +158 -0
  79. data/vendor/liburing/test/sqwait.c +9 -11
  80. data/vendor/liburing/test/timeout.c +198 -0
  81. data/vendor/liburing/test/vec-regbuf.c +609 -0
  82. data/vendor/liburing/test/wait-timeout.c +1 -1
  83. data/vendor/liburing/test/wq-aff.c +5 -1
  84. data/vendor/liburing/test/zcrx.c +928 -0
  85. metadata +16 -32
  86. data/vendor/liburing/.github/workflows/codespell.yml +0 -25
  87. data/vendor/liburing/.github/workflows/shellcheck.yml +0 -20
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.8.2
4
+ version: '0.11'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -37,20 +37,6 @@ dependencies:
37
37
  - - '='
38
38
  - !ruby/object:Gem::Version
39
39
  version: 5.25.4
40
- - !ruby/object:Gem::Dependency
41
- name: http_parser.rb
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - '='
45
- - !ruby/object:Gem::Version
46
- version: 0.8.0
47
- type: :development
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - '='
52
- - !ruby/object:Gem::Version
53
- version: 0.8.0
54
40
  - !ruby/object:Gem::Dependency
55
41
  name: benchmark-ips
56
42
  requirement: !ruby/object:Gem::Requirement
@@ -65,20 +51,6 @@ dependencies:
65
51
  - - '='
66
52
  - !ruby/object:Gem::Version
67
53
  version: 2.14.0
68
- - !ruby/object:Gem::Dependency
69
- name: localhost
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - '='
73
- - !ruby/object:Gem::Version
74
- version: 1.3.1
75
- type: :development
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - '='
80
- - !ruby/object:Gem::Version
81
- version: 1.3.1
82
54
  email: sharon@noteflakes.com
83
55
  executables: []
84
56
  extensions:
@@ -98,6 +70,7 @@ files:
98
70
  - TODO.md
99
71
  - examples/bm_http_parse.rb
100
72
  - examples/bm_queue.rb
73
+ - examples/bm_side_running.rb
101
74
  - examples/bm_snooze.rb
102
75
  - examples/bm_sqlite.rb
103
76
  - examples/bm_write.rb
@@ -123,6 +96,8 @@ files:
123
96
  - ext/um/um_mutex_class.c
124
97
  - ext/um/um_op.c
125
98
  - ext/um/um_queue_class.c
99
+ - ext/um/um_stream.c
100
+ - ext/um/um_stream_class.c
126
101
  - ext/um/um_sync.c
127
102
  - ext/um/um_utils.c
128
103
  - lib/uringmachine.rb
@@ -135,13 +110,12 @@ files:
135
110
  - test/test_actor.rb
136
111
  - test/test_async_op.rb
137
112
  - test/test_fiber.rb
113
+ - test/test_stream.rb
138
114
  - test/test_um.rb
139
115
  - uringmachine.gemspec
140
116
  - vendor/liburing/.github/actions/codespell/stopwords
141
117
  - vendor/liburing/.github/pull_request_template.md
142
- - vendor/liburing/.github/workflows/build.yml
143
- - vendor/liburing/.github/workflows/codespell.yml
144
- - vendor/liburing/.github/workflows/shellcheck.yml
118
+ - vendor/liburing/.github/workflows/ci.yml
145
119
  - vendor/liburing/.gitignore
146
120
  - vendor/liburing/CHANGELOG
147
121
  - vendor/liburing/CITATION.cff
@@ -187,6 +161,7 @@ files:
187
161
  - vendor/liburing/examples/rsrc-update-bench.c
188
162
  - vendor/liburing/examples/send-zerocopy.c
189
163
  - vendor/liburing/examples/ucontext-cp.c
164
+ - vendor/liburing/examples/zcrx.c
190
165
  - vendor/liburing/liburing-ffi.pc.in
191
166
  - vendor/liburing/liburing.pc.in
192
167
  - vendor/liburing/liburing.spec
@@ -262,6 +237,7 @@ files:
262
237
  - vendor/liburing/test/eeed8b54e0df.c
263
238
  - vendor/liburing/test/empty-eownerdead.c
264
239
  - vendor/liburing/test/eploop.c
240
+ - vendor/liburing/test/epwait.c
265
241
  - vendor/liburing/test/eventfd-disable.c
266
242
  - vendor/liburing/test/eventfd-reg.c
267
243
  - vendor/liburing/test/eventfd-ring.c
@@ -287,6 +263,7 @@ files:
287
263
  - vendor/liburing/test/fixed-hugepage.c
288
264
  - vendor/liburing/test/fixed-link.c
289
265
  - vendor/liburing/test/fixed-reuse.c
266
+ - vendor/liburing/test/fixed-seg.c
290
267
  - vendor/liburing/test/fpos.c
291
268
  - vendor/liburing/test/fsnotify.c
292
269
  - vendor/liburing/test/fsync.c
@@ -304,6 +281,7 @@ files:
304
281
  - vendor/liburing/test/iopoll-leak.c
305
282
  - vendor/liburing/test/iopoll-overflow.c
306
283
  - vendor/liburing/test/iopoll.c
284
+ - vendor/liburing/test/iowait.c
307
285
  - vendor/liburing/test/kallsyms.c
308
286
  - vendor/liburing/test/lfs-openat-write.c
309
287
  - vendor/liburing/test/lfs-openat.c
@@ -351,10 +329,12 @@ files:
351
329
  - vendor/liburing/test/pollfree.c
352
330
  - vendor/liburing/test/probe.c
353
331
  - vendor/liburing/test/read-before-exit.c
332
+ - vendor/liburing/test/read-inc-file.c
354
333
  - vendor/liburing/test/read-mshot-empty.c
355
334
  - vendor/liburing/test/read-mshot-stdin.c
356
335
  - vendor/liburing/test/read-mshot.c
357
336
  - vendor/liburing/test/read-write.c
337
+ - vendor/liburing/test/recv-bundle-short-ooo.c
358
338
  - vendor/liburing/test/recv-msgall-stream.c
359
339
  - vendor/liburing/test/recv-msgall.c
360
340
  - vendor/liburing/test/recv-multishot.c
@@ -382,6 +362,7 @@ files:
382
362
  - vendor/liburing/test/send-zerocopy.c
383
363
  - vendor/liburing/test/send_recv.c
384
364
  - vendor/liburing/test/send_recvmsg.c
365
+ - vendor/liburing/test/sendmsg_iov_clean.c
385
366
  - vendor/liburing/test/shared-wq.c
386
367
  - vendor/liburing/test/short-read.c
387
368
  - vendor/liburing/test/shutdown.c
@@ -390,6 +371,7 @@ files:
390
371
  - vendor/liburing/test/skip-cqe.c
391
372
  - vendor/liburing/test/socket-getsetsock-cmd.c
392
373
  - vendor/liburing/test/socket-io-cmd.c
374
+ - vendor/liburing/test/socket-nb.c
393
375
  - vendor/liburing/test/socket-rw-eagain.c
394
376
  - vendor/liburing/test/socket-rw-offset.c
395
377
  - vendor/liburing/test/socket-rw.c
@@ -422,6 +404,7 @@ files:
422
404
  - vendor/liburing/test/tty-write-dpoll.c
423
405
  - vendor/liburing/test/unlink.c
424
406
  - vendor/liburing/test/uring_cmd_ublk.c
407
+ - vendor/liburing/test/vec-regbuf.c
425
408
  - vendor/liburing/test/version.c
426
409
  - vendor/liburing/test/wait-timeout.c
427
410
  - vendor/liburing/test/waitid.c
@@ -430,6 +413,7 @@ files:
430
413
  - vendor/liburing/test/xattr.c
431
414
  - vendor/liburing/test/xfail_prep_link_timeout_out_of_scope.c
432
415
  - vendor/liburing/test/xfail_register_buffers_out_of_scope.c
416
+ - vendor/liburing/test/zcrx.c
433
417
  homepage: https://github.com/digital-fabric/uringmachine
434
418
  licenses:
435
419
  - MIT
@@ -1,25 +0,0 @@
1
- name: Codespell
2
-
3
- on:
4
- # Trigger the workflow on push or pull requests.
5
- push:
6
- pull_request:
7
-
8
- jobs:
9
- test:
10
- runs-on: ubuntu-24.04
11
-
12
- steps:
13
- - name: Checkout source
14
- uses: actions/checkout@v4
15
-
16
- - name: Install codespell
17
- run: |
18
- sudo apt-get update -y
19
- sudo apt-get install -y codespell
20
-
21
- - name: Display codespell version
22
- run: codespell --version
23
-
24
- - name: Execute codespell
25
- run: codespell --ignore-words=.github/actions/codespell/stopwords .
@@ -1,20 +0,0 @@
1
- name: Shellcheck
2
-
3
- on:
4
- # Trigger the workflow on push or pull requests.
5
- push:
6
- pull_request:
7
-
8
- jobs:
9
- test:
10
- runs-on: ubuntu-22.04
11
-
12
- steps:
13
- - name: Checkout source
14
- uses: actions/checkout@v4
15
-
16
- - name: Display shellcheck version
17
- run: shellcheck --version
18
-
19
- - name: Shellcheck execution
20
- run: shellcheck test/runtest*.sh