├── .editorconfig ├── .github └── workflows │ ├── async-head.yaml │ ├── async-v1.yaml │ ├── coverage.yaml │ ├── documentation.yaml │ ├── test-external.yaml │ └── test.yaml ├── .gitignore ├── .mailmap ├── .rspec ├── async-io.gemspec ├── benchmark └── pipe.rb ├── examples ├── allocations │ ├── byteslice.rb │ ├── memory.rb │ └── read_chunks.rb ├── chat │ ├── client.rb │ └── server.rb ├── defer │ └── worker.rb ├── echo │ ├── client.rb │ └── server.rb ├── issues │ ├── broken_ssl.rb │ └── pipes.rb ├── millions │ ├── client.rb │ └── server.rb ├── ssl │ ├── cert.crt │ ├── client.rb │ ├── key.pem │ └── server.rb ├── udp.rb ├── udp │ ├── client.rb │ └── server.rb └── unix │ ├── client.rb │ └── server.rb ├── gems.rb ├── gems ├── async-head.rb └── async-v1.rb ├── lib └── async │ ├── io.rb │ └── io │ ├── address.rb │ ├── address_endpoint.rb │ ├── binary_string.rb │ ├── buffer.rb │ ├── composite_endpoint.rb │ ├── endpoint.rb │ ├── endpoint │ └── each.rb │ ├── generic.rb │ ├── host_endpoint.rb │ ├── notification.rb │ ├── peer.rb │ ├── protocol │ ├── generic.rb │ └── line.rb │ ├── server.rb │ ├── shared_endpoint.rb │ ├── socket.rb │ ├── socket_endpoint.rb │ ├── ssl_endpoint.rb │ ├── ssl_socket.rb │ ├── standard.rb │ ├── stream.rb │ ├── tcp_socket.rb │ ├── threads.rb │ ├── trap.rb │ ├── udp_socket.rb │ ├── unix_endpoint.rb │ ├── unix_socket.rb │ └── version.rb ├── license.md ├── readme.md ├── release.cert ├── spec ├── addrinfo.rb ├── async │ └── io │ │ ├── buffer_spec.rb │ │ ├── c10k_spec.rb │ │ ├── echo_spec.rb │ │ ├── endpoint_spec.rb │ │ ├── generic_examples.rb │ │ ├── generic_spec.rb │ │ ├── notification_spec.rb │ │ ├── protocol │ │ └── line_spec.rb │ │ ├── shared_endpoint │ │ └── server_spec.rb │ │ ├── shared_endpoint_spec.rb │ │ ├── socket │ │ ├── tcp_spec.rb │ │ └── udp_spec.rb │ │ ├── socket_spec.rb │ │ ├── ssl_server_spec.rb │ │ ├── ssl_socket_spec.rb │ │ ├── standard_spec.rb │ │ ├── stream_context.rb │ │ ├── stream_spec.rb │ │ ├── tcp_socket_spec.rb │ │ ├── threads_spec.rb │ │ ├── trap_spec.rb │ │ ├── udp_socket_spec.rb │ │ ├── unix_endpoint_spec.rb │ │ └── unix_socket_spec.rb └── spec_helper.rb └── tea.yaml /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/async-head.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.github/workflows/async-head.yaml -------------------------------------------------------------------------------- /.github/workflows/async-v1.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.github/workflows/async-v1.yaml -------------------------------------------------------------------------------- /.github/workflows/coverage.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.github/workflows/coverage.yaml -------------------------------------------------------------------------------- /.github/workflows/documentation.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.github/workflows/documentation.yaml -------------------------------------------------------------------------------- /.github/workflows/test-external.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.github/workflows/test-external.yaml -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.github/workflows/test.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.gitignore -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/.mailmap -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --format documentation 2 | --warnings 3 | --require spec_helper -------------------------------------------------------------------------------- /async-io.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/async-io.gemspec -------------------------------------------------------------------------------- /benchmark/pipe.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/benchmark/pipe.rb -------------------------------------------------------------------------------- /examples/allocations/byteslice.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/allocations/byteslice.rb -------------------------------------------------------------------------------- /examples/allocations/memory.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/allocations/memory.rb -------------------------------------------------------------------------------- /examples/allocations/read_chunks.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/allocations/read_chunks.rb -------------------------------------------------------------------------------- /examples/chat/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/chat/client.rb -------------------------------------------------------------------------------- /examples/chat/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/chat/server.rb -------------------------------------------------------------------------------- /examples/defer/worker.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/defer/worker.rb -------------------------------------------------------------------------------- /examples/echo/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/echo/client.rb -------------------------------------------------------------------------------- /examples/echo/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/echo/server.rb -------------------------------------------------------------------------------- /examples/issues/broken_ssl.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/issues/broken_ssl.rb -------------------------------------------------------------------------------- /examples/issues/pipes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/issues/pipes.rb -------------------------------------------------------------------------------- /examples/millions/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/millions/client.rb -------------------------------------------------------------------------------- /examples/millions/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/millions/server.rb -------------------------------------------------------------------------------- /examples/ssl/cert.crt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/ssl/cert.crt -------------------------------------------------------------------------------- /examples/ssl/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/ssl/client.rb -------------------------------------------------------------------------------- /examples/ssl/key.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/ssl/key.pem -------------------------------------------------------------------------------- /examples/ssl/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/ssl/server.rb -------------------------------------------------------------------------------- /examples/udp.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/udp.rb -------------------------------------------------------------------------------- /examples/udp/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/udp/client.rb -------------------------------------------------------------------------------- /examples/udp/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/udp/server.rb -------------------------------------------------------------------------------- /examples/unix/client.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/unix/client.rb -------------------------------------------------------------------------------- /examples/unix/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/examples/unix/server.rb -------------------------------------------------------------------------------- /gems.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/gems.rb -------------------------------------------------------------------------------- /gems/async-head.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/gems/async-head.rb -------------------------------------------------------------------------------- /gems/async-v1.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/gems/async-v1.rb -------------------------------------------------------------------------------- /lib/async/io.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io.rb -------------------------------------------------------------------------------- /lib/async/io/address.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/address.rb -------------------------------------------------------------------------------- /lib/async/io/address_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/address_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/binary_string.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/binary_string.rb -------------------------------------------------------------------------------- /lib/async/io/buffer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/buffer.rb -------------------------------------------------------------------------------- /lib/async/io/composite_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/composite_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/endpoint/each.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/endpoint/each.rb -------------------------------------------------------------------------------- /lib/async/io/generic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/generic.rb -------------------------------------------------------------------------------- /lib/async/io/host_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/host_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/notification.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/notification.rb -------------------------------------------------------------------------------- /lib/async/io/peer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/peer.rb -------------------------------------------------------------------------------- /lib/async/io/protocol/generic.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/protocol/generic.rb -------------------------------------------------------------------------------- /lib/async/io/protocol/line.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/protocol/line.rb -------------------------------------------------------------------------------- /lib/async/io/server.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/server.rb -------------------------------------------------------------------------------- /lib/async/io/shared_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/shared_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/socket.rb -------------------------------------------------------------------------------- /lib/async/io/socket_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/socket_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/ssl_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/ssl_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/ssl_socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/ssl_socket.rb -------------------------------------------------------------------------------- /lib/async/io/standard.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/standard.rb -------------------------------------------------------------------------------- /lib/async/io/stream.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/stream.rb -------------------------------------------------------------------------------- /lib/async/io/tcp_socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/tcp_socket.rb -------------------------------------------------------------------------------- /lib/async/io/threads.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/threads.rb -------------------------------------------------------------------------------- /lib/async/io/trap.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/trap.rb -------------------------------------------------------------------------------- /lib/async/io/udp_socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/udp_socket.rb -------------------------------------------------------------------------------- /lib/async/io/unix_endpoint.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/unix_endpoint.rb -------------------------------------------------------------------------------- /lib/async/io/unix_socket.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/unix_socket.rb -------------------------------------------------------------------------------- /lib/async/io/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/lib/async/io/version.rb -------------------------------------------------------------------------------- /license.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/license.md -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/readme.md -------------------------------------------------------------------------------- /release.cert: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/release.cert -------------------------------------------------------------------------------- /spec/addrinfo.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/addrinfo.rb -------------------------------------------------------------------------------- /spec/async/io/buffer_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/buffer_spec.rb -------------------------------------------------------------------------------- /spec/async/io/c10k_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/c10k_spec.rb -------------------------------------------------------------------------------- /spec/async/io/echo_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/echo_spec.rb -------------------------------------------------------------------------------- /spec/async/io/endpoint_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/endpoint_spec.rb -------------------------------------------------------------------------------- /spec/async/io/generic_examples.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/generic_examples.rb -------------------------------------------------------------------------------- /spec/async/io/generic_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/generic_spec.rb -------------------------------------------------------------------------------- /spec/async/io/notification_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/notification_spec.rb -------------------------------------------------------------------------------- /spec/async/io/protocol/line_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/protocol/line_spec.rb -------------------------------------------------------------------------------- /spec/async/io/shared_endpoint/server_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/shared_endpoint/server_spec.rb -------------------------------------------------------------------------------- /spec/async/io/shared_endpoint_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/shared_endpoint_spec.rb -------------------------------------------------------------------------------- /spec/async/io/socket/tcp_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/socket/tcp_spec.rb -------------------------------------------------------------------------------- /spec/async/io/socket/udp_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/socket/udp_spec.rb -------------------------------------------------------------------------------- /spec/async/io/socket_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/socket_spec.rb -------------------------------------------------------------------------------- /spec/async/io/ssl_server_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/ssl_server_spec.rb -------------------------------------------------------------------------------- /spec/async/io/ssl_socket_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/ssl_socket_spec.rb -------------------------------------------------------------------------------- /spec/async/io/standard_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/standard_spec.rb -------------------------------------------------------------------------------- /spec/async/io/stream_context.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/stream_context.rb -------------------------------------------------------------------------------- /spec/async/io/stream_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/stream_spec.rb -------------------------------------------------------------------------------- /spec/async/io/tcp_socket_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/tcp_socket_spec.rb -------------------------------------------------------------------------------- /spec/async/io/threads_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/threads_spec.rb -------------------------------------------------------------------------------- /spec/async/io/trap_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/trap_spec.rb -------------------------------------------------------------------------------- /spec/async/io/udp_socket_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/udp_socket_spec.rb -------------------------------------------------------------------------------- /spec/async/io/unix_endpoint_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/unix_endpoint_spec.rb -------------------------------------------------------------------------------- /spec/async/io/unix_socket_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/async/io/unix_socket_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /tea.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/async-io/HEAD/tea.yaml --------------------------------------------------------------------------------