= 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 * http://ninenines.eu/docs/en/ranch/1.3/guide[User guide] * http://ninenines.eu/docs/en/ranch/1.3/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/` and `doc/man7/` * Run `make install-docs` to install man pages on your system * Full documentation in Asciidoc available in `doc/src/` * Examples available in `examples/` == Support * Official IRC Channel: #ninenines on irc.freenode.net * https://github.com/ninenines/ranch/issues[Issues tracker] * http://ninenines.eu/services[Commercial Support]