-
Notifications
You must be signed in to change notification settings - Fork 25
Home
gdamjan edited this page Jun 27, 2011
·
6 revisions
AsciiGram of the Architecture
.
.-------------.
... plugins |
.---------. | `-------------'
start_link | | | .-------------.
+------=>------+ plugin | +-+ plugins |
| & notify | manager ``| `-------------'
| | | | ······
.----+-----. `---------' | .-------------.
control | gen_fsm | ..| plugins |
------->| per irc | `-------------'
|connection|
`----+-----'
| .----------.
| | | tcp/ip
| |connection| send & receive
+-<=---=>-----+ process +------<=>--
(re)start | | die on error
& monitor `----------'
.
A deliberate design choice of this ircbot is that I don’t register any processes in the global process namespace. Everything is caried along, from function to function, as state. That makes it webscale :)
The FSM has 4 states: standby, connecting, registering and ready.
ps.
also checkout the documentation about Plugins.