ninenines/ranch

Socket acceptor pool for TCP protocols.

1,242

stars

444

commits

Erlang

primary language

Sep 8, 2026

updated

README

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

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/

Contributors

(top 30 of 34)

essen

370 commits

juhlig

15 commits

Maria-12648430

10 commits

fishcakez

8 commits

ninenines/ranch

Socket acceptor pool for TCP protocols.

1,242

stars

444

commits

Erlang

primary language

Sep 8, 2026

updated

README

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

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/

Contributors

(top 30 of 34)

essen

370 commits

juhlig

15 commits

Maria-12648430

10 commits

fishcakez

8 commits

Languages

Erlang

98.8%

Makefile

1.2%