uringmachine 0.10 → 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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/examples/bm_side_running.rb +83 -0
  4. data/examples/bm_sqlite.rb +1 -1
  5. data/ext/um/um.c +17 -1
  6. data/ext/um/um.h +29 -0
  7. data/ext/um/um_ext.c +2 -0
  8. data/ext/um/um_stream.c +344 -0
  9. data/ext/um/um_stream_class.c +140 -0
  10. data/lib/uringmachine/version.rb +1 -1
  11. data/lib/uringmachine.rb +20 -16
  12. data/test/test_stream.rb +133 -0
  13. data/test/test_um.rb +63 -0
  14. data/vendor/liburing/.github/workflows/{build.yml → ci.yml} +107 -42
  15. data/vendor/liburing/.gitignore +1 -0
  16. data/vendor/liburing/CHANGELOG +10 -0
  17. data/vendor/liburing/README +5 -0
  18. data/vendor/liburing/configure +1 -1
  19. data/vendor/liburing/examples/Makefile +1 -0
  20. data/vendor/liburing/examples/helpers.c +25 -0
  21. data/vendor/liburing/examples/helpers.h +13 -0
  22. data/vendor/liburing/examples/io_uring-test.c +3 -0
  23. data/vendor/liburing/examples/proxy.c +1 -1
  24. data/vendor/liburing/examples/reg-wait.c +41 -6
  25. data/vendor/liburing/examples/send-zerocopy.c +79 -32
  26. data/vendor/liburing/examples/zcrx.c +436 -0
  27. data/vendor/liburing/liburing.spec +1 -1
  28. data/vendor/liburing/src/Makefile +0 -1
  29. data/vendor/liburing/src/arch/generic/syscall.h +2 -2
  30. data/vendor/liburing/src/arch/syscall-defs.h +2 -2
  31. data/vendor/liburing/src/include/liburing/io_uring.h +101 -17
  32. data/vendor/liburing/src/include/liburing.h +179 -59
  33. data/vendor/liburing/src/int_flags.h +4 -1
  34. data/vendor/liburing/src/liburing-ffi.map +14 -2
  35. data/vendor/liburing/src/liburing.map +9 -2
  36. data/vendor/liburing/src/queue.c +35 -30
  37. data/vendor/liburing/src/register.c +46 -15
  38. data/vendor/liburing/src/sanitize.c +6 -9
  39. data/vendor/liburing/src/setup.c +37 -71
  40. data/vendor/liburing/src/syscall.c +2 -2
  41. data/vendor/liburing/test/232c93d07b74.c +1 -0
  42. data/vendor/liburing/test/Makefile +9 -0
  43. data/vendor/liburing/test/accept-test.c +1 -0
  44. data/vendor/liburing/test/cmd-discard.c +16 -8
  45. data/vendor/liburing/test/connect.c +11 -7
  46. data/vendor/liburing/test/epwait.c +420 -0
  47. data/vendor/liburing/test/eventfd-ring.c +30 -5
  48. data/vendor/liburing/test/fallocate.c +1 -1
  49. data/vendor/liburing/test/fixed-hugepage.c +10 -7
  50. data/vendor/liburing/test/fixed-seg.c +187 -0
  51. data/vendor/liburing/test/helpers.c +121 -0
  52. data/vendor/liburing/test/helpers.h +13 -0
  53. data/vendor/liburing/test/init-mem.c +2 -0
  54. data/vendor/liburing/test/io_uring_passthrough.c +78 -62
  55. data/vendor/liburing/test/iopoll-overflow.c +5 -4
  56. data/vendor/liburing/test/iopoll.c +20 -10
  57. data/vendor/liburing/test/iowait.c +141 -0
  58. data/vendor/liburing/test/nvme.h +2 -0
  59. data/vendor/liburing/test/pipe-bug.c +11 -5
  60. data/vendor/liburing/test/pipe-eof.c +11 -1
  61. data/vendor/liburing/test/read-inc-file.c +150 -0
  62. data/vendor/liburing/test/read-write.c +21 -14
  63. data/vendor/liburing/test/recv-bundle-short-ooo.c +435 -0
  64. data/vendor/liburing/test/recv-multishot.c +2 -2
  65. data/vendor/liburing/test/reg-wait.c +449 -120
  66. data/vendor/liburing/test/regbuf-clone.c +53 -0
  67. data/vendor/liburing/test/resize-rings.c +25 -2
  68. data/vendor/liburing/test/rsrc_tags.c +67 -14
  69. data/vendor/liburing/test/send-zerocopy.c +52 -130
  70. data/vendor/liburing/test/sendmsg_iov_clean.c +216 -0
  71. data/vendor/liburing/test/socket-nb.c +158 -0
  72. data/vendor/liburing/test/sqwait.c +9 -11
  73. data/vendor/liburing/test/timeout.c +198 -0
  74. data/vendor/liburing/test/vec-regbuf.c +609 -0
  75. data/vendor/liburing/test/wait-timeout.c +1 -1
  76. data/vendor/liburing/test/wq-aff.c +5 -1
  77. data/vendor/liburing/test/zcrx.c +928 -0
  78. metadata +16 -4
  79. data/vendor/liburing/.github/workflows/codespell.yml +0 -25
  80. 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.10'
4
+ version: '0.11'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -70,6 +70,7 @@ files:
70
70
  - TODO.md
71
71
  - examples/bm_http_parse.rb
72
72
  - examples/bm_queue.rb
73
+ - examples/bm_side_running.rb
73
74
  - examples/bm_snooze.rb
74
75
  - examples/bm_sqlite.rb
75
76
  - examples/bm_write.rb
@@ -95,6 +96,8 @@ files:
95
96
  - ext/um/um_mutex_class.c
96
97
  - ext/um/um_op.c
97
98
  - ext/um/um_queue_class.c
99
+ - ext/um/um_stream.c
100
+ - ext/um/um_stream_class.c
98
101
  - ext/um/um_sync.c
99
102
  - ext/um/um_utils.c
100
103
  - lib/uringmachine.rb
@@ -107,13 +110,12 @@ files:
107
110
  - test/test_actor.rb
108
111
  - test/test_async_op.rb
109
112
  - test/test_fiber.rb
113
+ - test/test_stream.rb
110
114
  - test/test_um.rb
111
115
  - uringmachine.gemspec
112
116
  - vendor/liburing/.github/actions/codespell/stopwords
113
117
  - vendor/liburing/.github/pull_request_template.md
114
- - vendor/liburing/.github/workflows/build.yml
115
- - vendor/liburing/.github/workflows/codespell.yml
116
- - vendor/liburing/.github/workflows/shellcheck.yml
118
+ - vendor/liburing/.github/workflows/ci.yml
117
119
  - vendor/liburing/.gitignore
118
120
  - vendor/liburing/CHANGELOG
119
121
  - vendor/liburing/CITATION.cff
@@ -159,6 +161,7 @@ files:
159
161
  - vendor/liburing/examples/rsrc-update-bench.c
160
162
  - vendor/liburing/examples/send-zerocopy.c
161
163
  - vendor/liburing/examples/ucontext-cp.c
164
+ - vendor/liburing/examples/zcrx.c
162
165
  - vendor/liburing/liburing-ffi.pc.in
163
166
  - vendor/liburing/liburing.pc.in
164
167
  - vendor/liburing/liburing.spec
@@ -234,6 +237,7 @@ files:
234
237
  - vendor/liburing/test/eeed8b54e0df.c
235
238
  - vendor/liburing/test/empty-eownerdead.c
236
239
  - vendor/liburing/test/eploop.c
240
+ - vendor/liburing/test/epwait.c
237
241
  - vendor/liburing/test/eventfd-disable.c
238
242
  - vendor/liburing/test/eventfd-reg.c
239
243
  - vendor/liburing/test/eventfd-ring.c
@@ -259,6 +263,7 @@ files:
259
263
  - vendor/liburing/test/fixed-hugepage.c
260
264
  - vendor/liburing/test/fixed-link.c
261
265
  - vendor/liburing/test/fixed-reuse.c
266
+ - vendor/liburing/test/fixed-seg.c
262
267
  - vendor/liburing/test/fpos.c
263
268
  - vendor/liburing/test/fsnotify.c
264
269
  - vendor/liburing/test/fsync.c
@@ -276,6 +281,7 @@ files:
276
281
  - vendor/liburing/test/iopoll-leak.c
277
282
  - vendor/liburing/test/iopoll-overflow.c
278
283
  - vendor/liburing/test/iopoll.c
284
+ - vendor/liburing/test/iowait.c
279
285
  - vendor/liburing/test/kallsyms.c
280
286
  - vendor/liburing/test/lfs-openat-write.c
281
287
  - vendor/liburing/test/lfs-openat.c
@@ -323,10 +329,12 @@ files:
323
329
  - vendor/liburing/test/pollfree.c
324
330
  - vendor/liburing/test/probe.c
325
331
  - vendor/liburing/test/read-before-exit.c
332
+ - vendor/liburing/test/read-inc-file.c
326
333
  - vendor/liburing/test/read-mshot-empty.c
327
334
  - vendor/liburing/test/read-mshot-stdin.c
328
335
  - vendor/liburing/test/read-mshot.c
329
336
  - vendor/liburing/test/read-write.c
337
+ - vendor/liburing/test/recv-bundle-short-ooo.c
330
338
  - vendor/liburing/test/recv-msgall-stream.c
331
339
  - vendor/liburing/test/recv-msgall.c
332
340
  - vendor/liburing/test/recv-multishot.c
@@ -354,6 +362,7 @@ files:
354
362
  - vendor/liburing/test/send-zerocopy.c
355
363
  - vendor/liburing/test/send_recv.c
356
364
  - vendor/liburing/test/send_recvmsg.c
365
+ - vendor/liburing/test/sendmsg_iov_clean.c
357
366
  - vendor/liburing/test/shared-wq.c
358
367
  - vendor/liburing/test/short-read.c
359
368
  - vendor/liburing/test/shutdown.c
@@ -362,6 +371,7 @@ files:
362
371
  - vendor/liburing/test/skip-cqe.c
363
372
  - vendor/liburing/test/socket-getsetsock-cmd.c
364
373
  - vendor/liburing/test/socket-io-cmd.c
374
+ - vendor/liburing/test/socket-nb.c
365
375
  - vendor/liburing/test/socket-rw-eagain.c
366
376
  - vendor/liburing/test/socket-rw-offset.c
367
377
  - vendor/liburing/test/socket-rw.c
@@ -394,6 +404,7 @@ files:
394
404
  - vendor/liburing/test/tty-write-dpoll.c
395
405
  - vendor/liburing/test/unlink.c
396
406
  - vendor/liburing/test/uring_cmd_ublk.c
407
+ - vendor/liburing/test/vec-regbuf.c
397
408
  - vendor/liburing/test/version.c
398
409
  - vendor/liburing/test/wait-timeout.c
399
410
  - vendor/liburing/test/waitid.c
@@ -402,6 +413,7 @@ files:
402
413
  - vendor/liburing/test/xattr.c
403
414
  - vendor/liburing/test/xfail_prep_link_timeout_out_of_scope.c
404
415
  - vendor/liburing/test/xfail_register_buffers_out_of_scope.c
416
+ - vendor/liburing/test/zcrx.c
405
417
  homepage: https://github.com/digital-fabric/uringmachine
406
418
  licenses:
407
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