diff options
| author | Michael Klishin <mklishin@pivotal.io> | 2015-04-05 03:13:27 +0300 |
|---|---|---|
| committer | Michael Klishin <mklishin@pivotal.io> | 2015-04-05 03:13:27 +0300 |
| commit | a41c4692d7317fd7bdda1ce08db4683ec0148901 (patch) | |
| tree | 80d9760c98b1a8c79bedb793aa2734bf0b6fe5ac /src | |
| parent | ab906a43213f586a53dbf0a86265993ba06879d6 (diff) | |
| download | rabbitmq-server-git-a41c4692d7317fd7bdda1ce08db4683ec0148901.tar.gz | |
rabbit_reader documentation improvements
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_reader.erl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index f28f6ab0fb..ec68b02760 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -15,6 +15,41 @@ %% -module(rabbit_reader). + +%% This is an AMQP 0-9-1 connection implementation. If AMQP 1.0 plugin is enabled, +%% this module passes control of incoming AMQP 1.0 connections to it. +%% +%% Every connection (as in, a process using this module) +%% is a controlling process for a server socket. +%% +%% Connections have a number of responsibilities: +%% +%% * Performing protocol handshake +%% * Parsing incoming data and dispatching protocol methods +%% * Authenticating clients (with the help of authentication backends) +%% * Enforcing TCP backpressure (throttling clients) +%% * Enforcing connection limits, e.g. channel_max +%% * Channel management +%% * Setting up heartbeater and alarm notifications +%% * Emitting connection and network activity metric events +%% * Gracefully handling client disconnects, channel termination, etc +%% +%% and a few more. +%% +%% Every connection has +%% +%% * a queue collector which is responsible for keeping +%% track of exclusive queues on the connection and their cleanup. +%% * a heartbeater that's responsible for sending heartbeat frames to clients, +%% keeping track of the incoming ones and notifying connection about +%% heartbeat timeouts +%% * Stats timer, a timer that is used to periodically emit metric events +%% +%% Some dependencies are started under a separate supervisor to avoid deadlocks +%% during system shutdown. See rabbit_channel_sup:start_link/0 for details. +%% +%% Reader processes are special processes (in the OTP sense). + -include("rabbit_framing.hrl"). -include("rabbit.hrl"). |
