polyphony 0.70 → 0.73.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/test.yml +3 -2
  4. data/.gitignore +3 -1
  5. data/CHANGELOG.md +32 -4
  6. data/Gemfile.lock +11 -11
  7. data/TODO.md +1 -1
  8. data/bin/pdbg +1 -1
  9. data/bin/polyphony-debug +0 -0
  10. data/bin/stress.rb +0 -0
  11. data/bin/test +0 -0
  12. data/docs/_user-guide/all-about-timers.md +1 -1
  13. data/docs/api-reference/exception.md +5 -1
  14. data/docs/api-reference/fiber.md +2 -2
  15. data/docs/faq.md +1 -1
  16. data/docs/getting-started/overview.md +8 -8
  17. data/docs/getting-started/tutorial.md +3 -3
  18. data/docs/main-concepts/concurrency.md +1 -1
  19. data/docs/main-concepts/extending.md +3 -3
  20. data/docs/main-concepts/fiber-scheduling.md +1 -1
  21. data/examples/core/calc.rb +37 -0
  22. data/examples/core/calc_with_restart.rb +40 -0
  23. data/examples/core/calc_with_supervise.rb +37 -0
  24. data/examples/core/message_based_supervision.rb +1 -1
  25. data/examples/core/ring.rb +29 -0
  26. data/examples/io/rack_server.rb +1 -1
  27. data/examples/io/tunnel.rb +1 -1
  28. data/examples/performance/fiber_transfer.rb +1 -1
  29. data/examples/performance/line_splitting.rb +1 -1
  30. data/examples/performance/thread-vs-fiber/compare.rb +1 -1
  31. data/ext/polyphony/backend_common.c +15 -9
  32. data/ext/polyphony/backend_common.h +1 -1
  33. data/ext/polyphony/backend_io_uring.c +56 -64
  34. data/ext/polyphony/backend_io_uring_context.c +1 -1
  35. data/ext/polyphony/backend_io_uring_context.h +1 -1
  36. data/ext/polyphony/backend_libev.c +36 -30
  37. data/ext/polyphony/extconf.rb +25 -13
  38. data/ext/polyphony/polyphony.h +5 -1
  39. data/ext/polyphony/queue.c +2 -2
  40. data/ext/polyphony/runqueue_ring_buffer.c +3 -2
  41. data/ext/polyphony/thread.c +1 -1
  42. data/lib/polyphony/adapters/irb.rb +11 -1
  43. data/lib/polyphony/{extensions → core}/debug.rb +0 -0
  44. data/lib/polyphony/core/global_api.rb +3 -6
  45. data/lib/polyphony/core/timer.rb +2 -2
  46. data/lib/polyphony/debugger.rb +3 -3
  47. data/lib/polyphony/extensions/exception.rb +45 -0
  48. data/lib/polyphony/extensions/fiber.rb +27 -9
  49. data/lib/polyphony/extensions/io.rb +2 -2
  50. data/lib/polyphony/extensions/{core.rb → kernel.rb} +0 -73
  51. data/lib/polyphony/extensions/openssl.rb +20 -5
  52. data/lib/polyphony/extensions/process.rb +19 -0
  53. data/lib/polyphony/extensions/socket.rb +3 -4
  54. data/lib/polyphony/extensions/timeout.rb +10 -0
  55. data/lib/polyphony/extensions.rb +9 -0
  56. data/lib/polyphony/version.rb +1 -1
  57. data/lib/polyphony.rb +2 -5
  58. data/polyphony.gemspec +1 -1
  59. data/test/coverage.rb +2 -2
  60. data/test/stress.rb +1 -1
  61. data/test/test_backend.rb +12 -12
  62. data/test/test_event.rb +1 -1
  63. data/test/test_ext.rb +1 -1
  64. data/test/test_fiber.rb +52 -7
  65. data/test/test_global_api.rb +16 -3
  66. data/test/test_io.rb +3 -3
  67. data/test/test_process_supervision.rb +1 -1
  68. data/test/test_queue.rb +6 -6
  69. data/test/test_signal.rb +20 -1
  70. data/test/test_socket.rb +12 -10
  71. data/test/test_supervise.rb +85 -0
  72. data/test/test_sync.rb +2 -2
  73. data/test/test_thread.rb +22 -2
  74. data/test/test_thread_pool.rb +1 -1
  75. data/test/test_throttler.rb +1 -1
  76. data/test/test_timer.rb +2 -2
  77. data/test/test_trace.rb +1 -1
  78. metadata +13 -4
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.70'
4
+ version: 0.73.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-08-19 00:00:00.000000000 Z
11
+ date: 2021-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -144,6 +144,7 @@ extensions:
144
144
  extra_rdoc_files:
145
145
  - README.md
146
146
  files:
147
+ - ".github/FUNDING.yml"
147
148
  - ".github/workflows/test.yml"
148
149
  - ".gitignore"
149
150
  - ".gitmodules"
@@ -215,6 +216,9 @@ files:
215
216
  - examples/adapters/sequel_mysql_pool.rb
216
217
  - examples/adapters/sequel_pg.rb
217
218
  - examples/core/await.rb
219
+ - examples/core/calc.rb
220
+ - examples/core/calc_with_restart.rb
221
+ - examples/core/calc_with_supervise.rb
218
222
  - examples/core/channels.rb
219
223
  - examples/core/deferring-an-operation.rb
220
224
  - examples/core/enumerable.rb
@@ -229,6 +233,7 @@ files:
229
233
  - examples/core/queue.rb
230
234
  - examples/core/recurrent-timer.rb
231
235
  - examples/core/resource_delegate.rb
236
+ - examples/core/ring.rb
232
237
  - examples/core/spin.rb
233
238
  - examples/core/spin_error_backtrace.rb
234
239
  - examples/core/supervise-process.rb
@@ -350,6 +355,7 @@ files:
350
355
  - lib/polyphony/adapters/redis.rb
351
356
  - lib/polyphony/adapters/sequel.rb
352
357
  - lib/polyphony/core/channel.rb
358
+ - lib/polyphony/core/debug.rb
353
359
  - lib/polyphony/core/exceptions.rb
354
360
  - lib/polyphony/core/global_api.rb
355
361
  - lib/polyphony/core/resource_pool.rb
@@ -358,13 +364,16 @@ files:
358
364
  - lib/polyphony/core/throttler.rb
359
365
  - lib/polyphony/core/timer.rb
360
366
  - lib/polyphony/debugger.rb
361
- - lib/polyphony/extensions/core.rb
362
- - lib/polyphony/extensions/debug.rb
367
+ - lib/polyphony/extensions.rb
368
+ - lib/polyphony/extensions/exception.rb
363
369
  - lib/polyphony/extensions/fiber.rb
364
370
  - lib/polyphony/extensions/io.rb
371
+ - lib/polyphony/extensions/kernel.rb
365
372
  - lib/polyphony/extensions/openssl.rb
373
+ - lib/polyphony/extensions/process.rb
366
374
  - lib/polyphony/extensions/socket.rb
367
375
  - lib/polyphony/extensions/thread.rb
376
+ - lib/polyphony/extensions/timeout.rb
368
377
  - lib/polyphony/net.rb
369
378
  - lib/polyphony/version.rb
370
379
  - polyphony.gemspec