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

Loïc Hoguin c3133bfbc3 Allow passing the 'verify' option in ranch_ssl 12 лет назад
doc 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
examples bfa353f8e7 Add a TCP Echo protocol example 12 лет назад
guide 85510e373f Add initial Ranch guide 12 лет назад
src c3133bfbc3 Allow passing the 'verify' option in ranch_ssl 12 лет назад
test 9cafa5e675 Add the 'ranch_protocol' behaviour 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 5ebe55a0fd Small README fixes 12 лет назад
ROADMAP.md 4156fa3ebb Import the acceptor code from Cowboy 13 лет назад
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