aboutsummaryrefslogtreecommitdiffstats
path: root/README.asciidoc
blob: 70e0b4e10182adf94401332e655fdfabf61098d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
= 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.4/guide[User guide]
* http://ninenines.eu/docs/en/ranch/1.4/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]