├── .editorconfig ├── .github ├── copilot-instructions.md └── workflows │ ├── documentation-coverage.yaml │ ├── documentation.yaml │ ├── rubocop.yaml │ ├── test-coverage.yaml │ ├── test-external.yaml │ └── test.yaml ├── .gitignore ├── .mailmap ├── .rubocop.yml ├── async-container.gemspec ├── bake.rb ├── bake └── async │ └── container │ └── notify │ └── log.rb ├── config ├── external.yaml ├── metrics.rb └── sus.rb ├── context ├── getting-started.md ├── index.yaml ├── kubernetes-integration.md └── systemd-integration.md ├── examples ├── benchmark │ └── scalability.rb ├── channel.rb ├── container.rb ├── controller.rb ├── exec-child │ ├── jobs │ ├── readme.md │ ├── start │ └── web ├── fan-out │ └── pipe.rb ├── grace │ └── server.rb ├── health_check │ └── test.rb ├── http │ ├── client.rb │ └── server.rb ├── minimal.rb ├── puma │ ├── application.rb │ ├── config.ru │ ├── gems.rb │ ├── puma.rb │ └── readme.md └── queue │ └── server.rb ├── fixtures └── async │ └── container │ ├── a_container.rb │ ├── controllers.rb │ └── controllers │ ├── bad.rb │ ├── dots.rb │ ├── graceful.rb │ ├── notify.rb │ └── working_directory.rb ├── gems.rb ├── gems ├── async-head.rb └── async-v1.rb ├── guides ├── getting-started │ └── readme.md ├── kubernetes-integration │ └── readme.md ├── links.yaml └── systemd-integration │ └── readme.md ├── lib ├── async │ ├── container.rb │ └── container │ │ ├── best.rb │ │ ├── channel.rb │ │ ├── controller.rb │ │ ├── error.rb │ │ ├── forked.rb │ │ ├── generic.rb │ │ ├── group.rb │ │ ├── hybrid.rb │ │ ├── keyed.rb │ │ ├── notify.rb │ │ ├── notify │ │ ├── client.rb │ │ ├── console.rb │ │ ├── log.rb │ │ ├── pipe.rb │ │ ├── server.rb │ │ └── socket.rb │ │ ├── statistics.rb │ │ ├── threaded.rb │ │ └── version.rb └── metrics │ └── provider │ └── async │ ├── container.rb │ └── container │ └── generic.rb ├── license.md ├── readme.md ├── release.cert ├── releases.md └── test └── async ├── container.rb └── container ├── channel.rb ├── controller.rb ├── forked.rb ├── group.rb ├── hybrid.rb ├── notify.rb ├── notify ├── log.rb ├── pipe.rb └── socket.rb ├── statistics.rb └── threaded.rb /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/copilot-instructions.md -------------------------------------------------------------------------------- /.github/workflows/documentation-coverage.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/workflows/documentation-coverage.yaml -------------------------------------------------------------------------------- /.github/workflows/documentation.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/workflows/documentation.yaml -------------------------------------------------------------------------------- /.github/workflows/rubocop.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/workflows/rubocop.yaml -------------------------------------------------------------------------------- /.github/workflows/test-coverage.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/workflows/test-coverage.yaml -------------------------------------------------------------------------------- /.github/workflows/test-external.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/workflows/test-external.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.gitignore -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.mailmap -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /async-container.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/async-container.gemspec -------------------------------------------------------------------------------- /bake.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/bake.rb -------------------------------------------------------------------------------- /bake/async/container/notify/log.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/bake/async/container/notify/log.rb -------------------------------------------------------------------------------- /config/external.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/config/external.yaml -------------------------------------------------------------------------------- /config/metrics.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/config/metrics.rb -------------------------------------------------------------------------------- /config/sus.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/config/sus.rb -------------------------------------------------------------------------------- /context/getting-started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/context/getting-started.md -------------------------------------------------------------------------------- /context/index.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/context/index.yaml -------------------------------------------------------------------------------- /context/kubernetes-integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/context/kubernetes-integration.md -------------------------------------------------------------------------------- /context/systemd-integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/context/systemd-integration.md -------------------------------------------------------------------------------- /examples/benchmark/scalability.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/benchmark/scalability.rb -------------------------------------------------------------------------------- /examples/channel.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/channel.rb -------------------------------------------------------------------------------- /examples/container.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/container.rb -------------------------------------------------------------------------------- /examples/controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/controller.rb -------------------------------------------------------------------------------- /examples/exec-child/jobs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/exec-child/jobs -------------------------------------------------------------------------------- /examples/exec-child/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/exec-child/readme.md -------------------------------------------------------------------------------- /examples/exec-child/start: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/exec-child/start -------------------------------------------------------------------------------- /examples/exec-child/web: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/exec-child/web -------------------------------------------------------------------------------- /examples/fan-out/pipe.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/fan-out/pipe.rb -------------------------------------------------------------------------------- /examples/grace/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/grace/server.rb -------------------------------------------------------------------------------- /examples/health_check/test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/health_check/test.rb -------------------------------------------------------------------------------- /examples/http/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/http/client.rb -------------------------------------------------------------------------------- /examples/http/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/http/server.rb -------------------------------------------------------------------------------- /examples/minimal.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/minimal.rb -------------------------------------------------------------------------------- /examples/puma/application.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/puma/application.rb -------------------------------------------------------------------------------- /examples/puma/config.ru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/puma/config.ru -------------------------------------------------------------------------------- /examples/puma/gems.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/puma/gems.rb -------------------------------------------------------------------------------- /examples/puma/puma.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/puma/puma.rb -------------------------------------------------------------------------------- /examples/puma/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/puma/readme.md -------------------------------------------------------------------------------- /examples/queue/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/examples/queue/server.rb -------------------------------------------------------------------------------- /fixtures/async/container/a_container.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/a_container.rb -------------------------------------------------------------------------------- /fixtures/async/container/controllers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/controllers.rb -------------------------------------------------------------------------------- /fixtures/async/container/controllers/bad.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/controllers/bad.rb -------------------------------------------------------------------------------- /fixtures/async/container/controllers/dots.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/controllers/dots.rb -------------------------------------------------------------------------------- /fixtures/async/container/controllers/graceful.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/controllers/graceful.rb -------------------------------------------------------------------------------- /fixtures/async/container/controllers/notify.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/controllers/notify.rb -------------------------------------------------------------------------------- /fixtures/async/container/controllers/working_directory.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/fixtures/async/container/controllers/working_directory.rb -------------------------------------------------------------------------------- /gems.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/gems.rb -------------------------------------------------------------------------------- /gems/async-head.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/gems/async-head.rb -------------------------------------------------------------------------------- /gems/async-v1.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/gems/async-v1.rb -------------------------------------------------------------------------------- /guides/getting-started/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/guides/getting-started/readme.md -------------------------------------------------------------------------------- /guides/kubernetes-integration/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/guides/kubernetes-integration/readme.md -------------------------------------------------------------------------------- /guides/links.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/guides/links.yaml -------------------------------------------------------------------------------- /guides/systemd-integration/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/guides/systemd-integration/readme.md -------------------------------------------------------------------------------- /lib/async/container.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container.rb -------------------------------------------------------------------------------- /lib/async/container/best.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/best.rb -------------------------------------------------------------------------------- /lib/async/container/channel.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/channel.rb -------------------------------------------------------------------------------- /lib/async/container/controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/controller.rb -------------------------------------------------------------------------------- /lib/async/container/error.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/error.rb -------------------------------------------------------------------------------- /lib/async/container/forked.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/forked.rb -------------------------------------------------------------------------------- /lib/async/container/generic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/generic.rb -------------------------------------------------------------------------------- /lib/async/container/group.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/group.rb -------------------------------------------------------------------------------- /lib/async/container/hybrid.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/hybrid.rb -------------------------------------------------------------------------------- /lib/async/container/keyed.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/keyed.rb -------------------------------------------------------------------------------- /lib/async/container/notify.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify.rb -------------------------------------------------------------------------------- /lib/async/container/notify/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify/client.rb -------------------------------------------------------------------------------- /lib/async/container/notify/console.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify/console.rb -------------------------------------------------------------------------------- /lib/async/container/notify/log.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify/log.rb -------------------------------------------------------------------------------- /lib/async/container/notify/pipe.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify/pipe.rb -------------------------------------------------------------------------------- /lib/async/container/notify/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify/server.rb -------------------------------------------------------------------------------- /lib/async/container/notify/socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/notify/socket.rb -------------------------------------------------------------------------------- /lib/async/container/statistics.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/statistics.rb -------------------------------------------------------------------------------- /lib/async/container/threaded.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/threaded.rb -------------------------------------------------------------------------------- /lib/async/container/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/async/container/version.rb -------------------------------------------------------------------------------- /lib/metrics/provider/async/container.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/metrics/provider/async/container.rb -------------------------------------------------------------------------------- /lib/metrics/provider/async/container/generic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/lib/metrics/provider/async/container/generic.rb -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/license.md -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/readme.md -------------------------------------------------------------------------------- /release.cert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/release.cert -------------------------------------------------------------------------------- /releases.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/releases.md -------------------------------------------------------------------------------- /test/async/container.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container.rb -------------------------------------------------------------------------------- /test/async/container/channel.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/channel.rb -------------------------------------------------------------------------------- /test/async/container/controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/controller.rb -------------------------------------------------------------------------------- /test/async/container/forked.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/forked.rb -------------------------------------------------------------------------------- /test/async/container/group.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/group.rb -------------------------------------------------------------------------------- /test/async/container/hybrid.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/hybrid.rb -------------------------------------------------------------------------------- /test/async/container/notify.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/notify.rb -------------------------------------------------------------------------------- /test/async/container/notify/log.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/notify/log.rb -------------------------------------------------------------------------------- /test/async/container/notify/pipe.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/notify/pipe.rb -------------------------------------------------------------------------------- /test/async/container/notify/socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/notify/socket.rb -------------------------------------------------------------------------------- /test/async/container/statistics.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/statistics.rb -------------------------------------------------------------------------------- /test/async/container/threaded.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-container/HEAD/test/async/container/threaded.rb --------------------------------------------------------------------------------