polyphony 0.71 → 0.72

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/CHANGELOG.md +18 -4
  4. data/Gemfile.lock +1 -1
  5. data/TODO.md +1 -1
  6. data/bin/pdbg +1 -1
  7. data/bin/polyphony-debug +0 -0
  8. data/bin/stress.rb +0 -0
  9. data/bin/test +0 -0
  10. data/docs/_user-guide/all-about-timers.md +1 -1
  11. data/docs/api-reference/fiber.md +2 -2
  12. data/docs/faq.md +1 -1
  13. data/docs/getting-started/overview.md +8 -8
  14. data/docs/getting-started/tutorial.md +3 -3
  15. data/docs/main-concepts/concurrency.md +1 -1
  16. data/docs/main-concepts/extending.md +3 -3
  17. data/docs/main-concepts/fiber-scheduling.md +1 -1
  18. data/examples/core/calc.rb +37 -0
  19. data/examples/core/calc_with_restart.rb +40 -0
  20. data/examples/core/calc_with_supervise.rb +37 -0
  21. data/examples/core/message_based_supervision.rb +1 -1
  22. data/examples/io/rack_server.rb +1 -1
  23. data/examples/io/tunnel.rb +1 -1
  24. data/examples/performance/fiber_transfer.rb +1 -1
  25. data/examples/performance/line_splitting.rb +1 -1
  26. data/examples/performance/thread-vs-fiber/compare.rb +1 -1
  27. data/ext/polyphony/backend_common.c +8 -8
  28. data/ext/polyphony/backend_io_uring.c +26 -33
  29. data/ext/polyphony/backend_io_uring_context.c +1 -1
  30. data/ext/polyphony/backend_io_uring_context.h +1 -1
  31. data/ext/polyphony/backend_libev.c +11 -11
  32. data/ext/polyphony/extconf.rb +24 -13
  33. data/ext/polyphony/queue.c +2 -2
  34. data/ext/polyphony/runqueue_ring_buffer.c +3 -2
  35. data/lib/polyphony/adapters/irb.rb +11 -1
  36. data/lib/polyphony/core/global_api.rb +3 -3
  37. data/lib/polyphony/core/timer.rb +2 -2
  38. data/lib/polyphony/debugger.rb +3 -3
  39. data/lib/polyphony/extensions/fiber.rb +19 -8
  40. data/lib/polyphony/extensions/io.rb +2 -2
  41. data/lib/polyphony/extensions/openssl.rb +20 -5
  42. data/lib/polyphony/extensions/socket.rb +3 -4
  43. data/lib/polyphony/version.rb +1 -1
  44. data/polyphony.gemspec +1 -1
  45. data/test/coverage.rb +2 -2
  46. data/test/test_backend.rb +12 -12
  47. data/test/test_event.rb +1 -1
  48. data/test/test_ext.rb +1 -1
  49. data/test/test_fiber.rb +31 -7
  50. data/test/test_global_api.rb +2 -2
  51. data/test/test_io.rb +3 -3
  52. data/test/test_queue.rb +6 -6
  53. data/test/test_socket.rb +12 -10
  54. data/test/test_supervise.rb +85 -0
  55. data/test/test_sync.rb +2 -2
  56. data/test/test_thread.rb +22 -2
  57. data/test/test_thread_pool.rb +1 -1
  58. data/test/test_throttler.rb +1 -1
  59. data/test/test_timer.rb +2 -2
  60. data/test/test_trace.rb +1 -1
  61. metadata +7 -3
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.71'
4
+ version: '0.72'
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-20 00:00:00.000000000 Z
11
+ date: 2021-11-22 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
@@ -421,7 +425,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
421
425
  - !ruby/object:Gem::Version
422
426
  version: '0'
423
427
  requirements: []
424
- rubygems_version: 3.1.4
428
+ rubygems_version: 3.1.2
425
429
  signing_key:
426
430
  specification_version: 4
427
431
  summary: Fine grained concurrency for Ruby