= Ranch
Ranch is a socket acceptor pool for TCP protocols.
== Goals
Ranch aims to provide everything you need to accept TCP connections with
a small code base and low latency while being easy to use directly
as an application or to embed into your own.
Ranch provides a modular design, letting you choose which transport
and protocol are going to be used for a particular listener. Listeners
accept and manage connections on one port, and include facilities to
limit the number of concurrent connections. Connections are sorted
into pools, each pool having a different configurable limit.
Ranch also allows you to upgrade the acceptor pool without having
to close any of the currently opened sockets.
== Online documentation
- https://ninenines.eu/docs/en/ranch/2.0/guide[User guide]
- https://ninenines.eu/docs/en/ranch/2.0/manual[Function reference]
== Offline documentation
- While still online, run
make docs
- User guide available in
doc/
in PDF and HTML formats - Function reference man pages available in
doc/man3/
anddoc/man7/
- Run
make install-docs
to install man pages on your system - Full documentation in Asciidoc available in
doc/src/
- Examples available in
examples/
== Getting help
- Official IRC Channel: #ninenines on irc.freenode.net
- https://github.com/ninenines/ranch/issues[Issues tracker]
- https://ninenines.eu/services[Commercial Support]