= 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.

== Getting started

* link:doc/src/guide/book.asciidoc[Read the guide]
* link:doc/src/manual/[Check the manual]
* Look at the examples in the `examples/` directory

== Support

* Official IRC Channel: #ninenines on
*[Commercial Support]