mirror https://github.com/ninenines/ranch

Loïc Hoguin 0d5d855da3 Update the list of allowed transport options 9 years ago
examples e31109dd3c Fix examples README 10 years ago
guide 46897b9790 Fix arity of Transport:recv in the guide 10 years ago
manual 0d5d855da3 Update the list of allowed transport options 9 years ago
src 0d5d855da3 Update the list of allowed transport options 9 years ago
test f5f480c575 Beginnings of modernizing the test suite 9 years ago
.gitignore 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
AUTHORS f3ae53708c Update AUTHORS 10 years ago
CHANGELOG.md 741bfb73ca Update Ranch to 1.1.0 10 years ago
LICENSE 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
Makefile f5f480c575 Beginnings of modernizing the test suite 9 years ago
README.md d2318c0a28 Add a manual 11 years ago
ROADMAP.md 9176df9eb5 Add Transport:secure/0 10 years ago
all.sh 0c0c5cb6b7 Update erlang.mk to 1.0.0 10 years ago
circle.yml 5ea28fb446 Update apt-get before installing things on CI 9 years ago
erlang.mk 9508d521c4 Update erlang.mk 9 years ago

README.md

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

Support