IO::Endpoint
Provides a separation of concerns interface for IO endpoints. This allows you to write code which is agnostic to the underlying IO implementation.
Usage
Please browse the source code index or refer to the guides below.
Getting Started
This guide explains how to get started with io-endpoint, a library that provides a separation of concerns interface for network I/O endpoints.
Named Endpoints
This guide explains how to use IO::Endpoint::NamedEndpoints to manage multiple endpoints by name, enabling scenarios like running the same application on different protocols or ports.
Releases
Please browse the releases for more details.
v0.17.1
- Add
#to_sand#inspectforIO::Endpoint::NamedEndpoints.
v0.17.0
- Added
IO::Endpoint::NamedEndpointsfor accessing endpoints by symbolic names, useful for running applications on multiple endpoints with different configurations.
v0.16.0
- Improved error handling in
#connectfor more robust connection handling. - Added getting started guide and improved documentation coverage.
v0.15.2
- Fixed
UNIXEndpoint#bindto pass all arguments through to super.
v0.15.1
- Added
async-dnsto externals and restored removed method.
v0.15.0
- Allow wrapper to be customized using endpoint
options[:wrapper]. - Expose wrapper extension points for
connectandaccept.
v0.14.0
- Uniform
#to_sand#inspectimplementations across all endpoints.
v0.13.1
- Fixed state leak between iterations of the accept loop.
v0.13.0
- Propagate options assigned to composite endpoint to nested endpoints.
v0.12.0
- Expose
sizeand internal endpoints for composite endpoint.
See Also
- async-io — Where this implementation originally came from.
Contributing
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature). - Commit your changes (
git commit -am 'Add some feature'). - Push to the branch (
git push origin my-new-feature). - Create new Pull Request.
Developer Certificate of Origin
In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
Community Guidelines
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.