uringmachine 0.10 → 0.11.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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/examples/bm_http_parse.rb +108 -35
  4. data/examples/bm_side_running.rb +83 -0
  5. data/examples/bm_sqlite.rb +1 -1
  6. data/ext/um/um.c +17 -1
  7. data/ext/um/um.h +30 -0
  8. data/ext/um/um_ext.c +2 -0
  9. data/ext/um/um_stream.c +372 -0
  10. data/ext/um/um_stream_class.c +121 -0
  11. data/lib/uringmachine/version.rb +1 -1
  12. data/lib/uringmachine.rb +20 -16
  13. data/test/test_stream.rb +133 -0
  14. data/test/test_um.rb +63 -0
  15. data/uringmachine.gemspec +1 -0
  16. data/vendor/liburing/.github/workflows/{build.yml → ci.yml} +107 -42
  17. data/vendor/liburing/.gitignore +1 -0
  18. data/vendor/liburing/CHANGELOG +10 -0
  19. data/vendor/liburing/README +5 -0
  20. data/vendor/liburing/configure +1 -1
  21. data/vendor/liburing/examples/Makefile +1 -0
  22. data/vendor/liburing/examples/helpers.c +25 -0
  23. data/vendor/liburing/examples/helpers.h +13 -0
  24. data/vendor/liburing/examples/io_uring-test.c +3 -0
  25. data/vendor/liburing/examples/proxy.c +1 -1
  26. data/vendor/liburing/examples/reg-wait.c +41 -6
  27. data/vendor/liburing/examples/send-zerocopy.c +79 -32
  28. data/vendor/liburing/examples/zcrx.c +436 -0
  29. data/vendor/liburing/liburing.spec +1 -1
  30. data/vendor/liburing/src/Makefile +0 -1
  31. data/vendor/liburing/src/arch/generic/syscall.h +2 -2
  32. data/vendor/liburing/src/arch/syscall-defs.h +2 -2
  33. data/vendor/liburing/src/include/liburing/io_uring.h +101 -17
  34. data/vendor/liburing/src/include/liburing.h +179 -59
  35. data/vendor/liburing/src/int_flags.h +4 -1
  36. data/vendor/liburing/src/liburing-ffi.map +14 -2
  37. data/vendor/liburing/src/liburing.map +9 -2
  38. data/vendor/liburing/src/queue.c +35 -30
  39. data/vendor/liburing/src/register.c +46 -15
  40. data/vendor/liburing/src/sanitize.c +6 -9
  41. data/vendor/liburing/src/setup.c +37 -71
  42. data/vendor/liburing/src/syscall.c +2 -2
  43. data/vendor/liburing/test/232c93d07b74.c +1 -0
  44. data/vendor/liburing/test/Makefile +9 -0
  45. data/vendor/liburing/test/accept-test.c +1 -0
  46. data/vendor/liburing/test/cmd-discard.c +16 -8
  47. data/vendor/liburing/test/connect.c +11 -7
  48. data/vendor/liburing/test/epwait.c +420 -0
  49. data/vendor/liburing/test/eventfd-ring.c +30 -5
  50. data/vendor/liburing/test/fallocate.c +1 -1
  51. data/vendor/liburing/test/fixed-hugepage.c +10 -7
  52. data/vendor/liburing/test/fixed-seg.c +187 -0
  53. data/vendor/liburing/test/helpers.c +121 -0
  54. data/vendor/liburing/test/helpers.h +13 -0
  55. data/vendor/liburing/test/init-mem.c +2 -0
  56. data/vendor/liburing/test/io_uring_passthrough.c +78 -62
  57. data/vendor/liburing/test/iopoll-overflow.c +5 -4
  58. data/vendor/liburing/test/iopoll.c +20 -10
  59. data/vendor/liburing/test/iowait.c +141 -0
  60. data/vendor/liburing/test/nvme.h +2 -0
  61. data/vendor/liburing/test/pipe-bug.c +11 -5
  62. data/vendor/liburing/test/pipe-eof.c +11 -1
  63. data/vendor/liburing/test/read-inc-file.c +150 -0
  64. data/vendor/liburing/test/read-write.c +21 -14
  65. data/vendor/liburing/test/recv-bundle-short-ooo.c +435 -0
  66. data/vendor/liburing/test/recv-multishot.c +2 -2
  67. data/vendor/liburing/test/reg-wait.c +449 -120
  68. data/vendor/liburing/test/regbuf-clone.c +53 -0
  69. data/vendor/liburing/test/resize-rings.c +25 -2
  70. data/vendor/liburing/test/rsrc_tags.c +67 -14
  71. data/vendor/liburing/test/send-zerocopy.c +52 -130
  72. data/vendor/liburing/test/sendmsg_iov_clean.c +216 -0
  73. data/vendor/liburing/test/socket-nb.c +158 -0
  74. data/vendor/liburing/test/sqwait.c +9 -11
  75. data/vendor/liburing/test/timeout.c +198 -0
  76. data/vendor/liburing/test/vec-regbuf.c +609 -0
  77. data/vendor/liburing/test/wait-timeout.c +1 -1
  78. data/vendor/liburing/test/wq-aff.c +5 -1
  79. data/vendor/liburing/test/zcrx.c +928 -0
  80. metadata +30 -4
  81. data/vendor/liburing/.github/workflows/codespell.yml +0 -25
  82. 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.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
@@ -51,6 +51,20 @@ dependencies:
51
51
  - - '='
52
52
  - !ruby/object:Gem::Version
53
53
  version: 2.14.0
54
+ - !ruby/object:Gem::Dependency
55
+ name: http_parser.rb
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '='
59
+ - !ruby/object:Gem::Version
60
+ version: 0.8.0
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '='
66
+ - !ruby/object:Gem::Version
67
+ version: 0.8.0
54
68
  email: sharon@noteflakes.com
55
69
  executables: []
56
70
  extensions:
@@ -70,6 +84,7 @@ files:
70
84
  - TODO.md
71
85
  - examples/bm_http_parse.rb
72
86
  - examples/bm_queue.rb
87
+ - examples/bm_side_running.rb
73
88
  - examples/bm_snooze.rb
74
89
  - examples/bm_sqlite.rb
75
90
  - examples/bm_write.rb
@@ -95,6 +110,8 @@ files:
95
110
  - ext/um/um_mutex_class.c
96
111
  - ext/um/um_op.c
97
112
  - ext/um/um_queue_class.c
113
+ - ext/um/um_stream.c
114
+ - ext/um/um_stream_class.c
98
115
  - ext/um/um_sync.c
99
116
  - ext/um/um_utils.c
100
117
  - lib/uringmachine.rb
@@ -107,13 +124,12 @@ files:
107
124
  - test/test_actor.rb
108
125
  - test/test_async_op.rb
109
126
  - test/test_fiber.rb
127
+ - test/test_stream.rb
110
128
  - test/test_um.rb
111
129
  - uringmachine.gemspec
112
130
  - vendor/liburing/.github/actions/codespell/stopwords
113
131
  - 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
132
+ - vendor/liburing/.github/workflows/ci.yml
117
133
  - vendor/liburing/.gitignore
118
134
  - vendor/liburing/CHANGELOG
119
135
  - vendor/liburing/CITATION.cff
@@ -159,6 +175,7 @@ files:
159
175
  - vendor/liburing/examples/rsrc-update-bench.c
160
176
  - vendor/liburing/examples/send-zerocopy.c
161
177
  - vendor/liburing/examples/ucontext-cp.c
178
+ - vendor/liburing/examples/zcrx.c
162
179
  - vendor/liburing/liburing-ffi.pc.in
163
180
  - vendor/liburing/liburing.pc.in
164
181
  - vendor/liburing/liburing.spec
@@ -234,6 +251,7 @@ files:
234
251
  - vendor/liburing/test/eeed8b54e0df.c
235
252
  - vendor/liburing/test/empty-eownerdead.c
236
253
  - vendor/liburing/test/eploop.c
254
+ - vendor/liburing/test/epwait.c
237
255
  - vendor/liburing/test/eventfd-disable.c
238
256
  - vendor/liburing/test/eventfd-reg.c
239
257
  - vendor/liburing/test/eventfd-ring.c
@@ -259,6 +277,7 @@ files:
259
277
  - vendor/liburing/test/fixed-hugepage.c
260
278
  - vendor/liburing/test/fixed-link.c
261
279
  - vendor/liburing/test/fixed-reuse.c
280
+ - vendor/liburing/test/fixed-seg.c
262
281
  - vendor/liburing/test/fpos.c
263
282
  - vendor/liburing/test/fsnotify.c
264
283
  - vendor/liburing/test/fsync.c
@@ -276,6 +295,7 @@ files:
276
295
  - vendor/liburing/test/iopoll-leak.c
277
296
  - vendor/liburing/test/iopoll-overflow.c
278
297
  - vendor/liburing/test/iopoll.c
298
+ - vendor/liburing/test/iowait.c
279
299
  - vendor/liburing/test/kallsyms.c
280
300
  - vendor/liburing/test/lfs-openat-write.c
281
301
  - vendor/liburing/test/lfs-openat.c
@@ -323,10 +343,12 @@ files:
323
343
  - vendor/liburing/test/pollfree.c
324
344
  - vendor/liburing/test/probe.c
325
345
  - vendor/liburing/test/read-before-exit.c
346
+ - vendor/liburing/test/read-inc-file.c
326
347
  - vendor/liburing/test/read-mshot-empty.c
327
348
  - vendor/liburing/test/read-mshot-stdin.c
328
349
  - vendor/liburing/test/read-mshot.c
329
350
  - vendor/liburing/test/read-write.c
351
+ - vendor/liburing/test/recv-bundle-short-ooo.c
330
352
  - vendor/liburing/test/recv-msgall-stream.c
331
353
  - vendor/liburing/test/recv-msgall.c
332
354
  - vendor/liburing/test/recv-multishot.c
@@ -354,6 +376,7 @@ files:
354
376
  - vendor/liburing/test/send-zerocopy.c
355
377
  - vendor/liburing/test/send_recv.c
356
378
  - vendor/liburing/test/send_recvmsg.c
379
+ - vendor/liburing/test/sendmsg_iov_clean.c
357
380
  - vendor/liburing/test/shared-wq.c
358
381
  - vendor/liburing/test/short-read.c
359
382
  - vendor/liburing/test/shutdown.c
@@ -362,6 +385,7 @@ files:
362
385
  - vendor/liburing/test/skip-cqe.c
363
386
  - vendor/liburing/test/socket-getsetsock-cmd.c
364
387
  - vendor/liburing/test/socket-io-cmd.c
388
+ - vendor/liburing/test/socket-nb.c
365
389
  - vendor/liburing/test/socket-rw-eagain.c
366
390
  - vendor/liburing/test/socket-rw-offset.c
367
391
  - vendor/liburing/test/socket-rw.c
@@ -394,6 +418,7 @@ files:
394
418
  - vendor/liburing/test/tty-write-dpoll.c
395
419
  - vendor/liburing/test/unlink.c
396
420
  - vendor/liburing/test/uring_cmd_ublk.c
421
+ - vendor/liburing/test/vec-regbuf.c
397
422
  - vendor/liburing/test/version.c
398
423
  - vendor/liburing/test/wait-timeout.c
399
424
  - vendor/liburing/test/waitid.c
@@ -402,6 +427,7 @@ files:
402
427
  - vendor/liburing/test/xattr.c
403
428
  - vendor/liburing/test/xfail_prep_link_timeout_out_of_scope.c
404
429
  - vendor/liburing/test/xfail_register_buffers_out_of_scope.c
430
+ - vendor/liburing/test/zcrx.c
405
431
  homepage: https://github.com/digital-fabric/uringmachine
406
432
  licenses:
407
433
  - 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