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

Loïc Hoguin f3ae53708c Update AUTHORS 10 years ago
examples adf1822def Update examples Makefile 10 years ago
guide 46897b9790 Fix arity of Transport:recv in the guide 10 years ago
manual c81e2d5d83 Fixed typo. ranch_app starts eprof, not etop. 10 years ago
src 09b4bb201d Update erlang.mk 10 years ago
test bac2faea84 Fix inherit listen options for accepted socket 11 years ago
.gitignore 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
AUTHORS f3ae53708c Update AUTHORS 10 years ago
CHANGELOG.md 8a223b2323 Add a CHANGELOG file 10 years ago
LICENSE 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
Makefile 0c0c5cb6b7 Update erlang.mk to 1.0.0 10 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
build.config 09b4bb201d Update erlang.mk 10 years ago
erlang.mk 09b4bb201d Update erlang.mk 10 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