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

Fred Hebert c7bf6d2e4d Allow raw socket options for TCP and SSL 12 years ago
doc 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
examples bfa353f8e7 Add a TCP Echo protocol example 12 years ago
guide 9993923c40 Add ranch:set_max_connections/2 and get_max_connections/1 12 years ago
src c7bf6d2e4d Allow raw socket options for TCP and SSL 12 years ago
test 9993923c40 Add ranch:set_max_connections/2 and get_max_connections/1 12 years ago
.gitignore 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
AUTHORS e0d60d9a39 Update AUTHORS 12 years ago
LICENSE 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
Makefile 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
README.md db9889b91c Add #ninenines IRC channel + support options to the README 12 years ago
ROADMAP.md f685fe97ce Update ROADMAP 12 years ago
cover.spec 4156fa3ebb Import the acceptor code from Cowboy 13 years ago
rebar.config 46ada7fff0 Add Transport:connect/3 and remove types unneeded by R15B+ 13 years ago
rebar.tests.config 4156fa3ebb Import the acceptor code from Cowboy 13 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

  • Read the guide
  • Look at the examples in the examples/ directory
  • Build API documentation with make docs; open doc/index.html

Support