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

Loïc Hoguin f685fe97ce Update ROADMAP 12 лет назад
doc 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
examples bfa353f8e7 Add a TCP Echo protocol example 12 лет назад
guide 9993923c40 Add ranch:set_max_connections/2 and get_max_connections/1 12 лет назад
src 201a0cb5e4 Improve max_connections type 12 лет назад
test 9993923c40 Add ranch:set_max_connections/2 and get_max_connections/1 12 лет назад
.gitignore 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
AUTHORS 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
LICENSE 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
Makefile 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
README.md fd4b7f9247 Better markdown in the README 12 лет назад
ROADMAP.md f685fe97ce Update ROADMAP 12 лет назад
cover.spec 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
rebar.config 46ada7fff0 Add Transport:connect/3 and remove types unneeded by R15B+ 13 лет назад
rebar.tests.config 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад

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.

The project is currently in early development. Comments and suggestions are more than welcome. To contribute, either open bug reports, or fork the project and send us pull requests with new or improved functionality. You should discuss your plans with us before doing any serious work, though, to avoid duplicating efforts.

Quick start

  • Add Ranch as a rebar dependency to your application
  • Start Ranch and add one or more listeners
  • Write protocol handlers for your application

Getting started

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