Page MenuHomePhabricator

mode-monitor-fsm.png

Authored By
stwalkerster
Nov 9 2017, 11:02 PM
Size
181 KB
Dimensions
1,009px × 1,637px
Referenced Files
None
Subscribers
None

mode-monitor-fsm.png

mode-monitor-fsm.png (1×1 px, 181 KB)

File Metadata

Mime Type
image/png
Attributes
Image
Storage Engine
amazon-s3
Storage Format
Raw Data
Storage Handle
phabricator/ky/xa/l7g6sksjcczxfiri
Default Alt Text
mode-monitor-fsm.png (1×1 px, 181 KB)

Event Timeline

digraph G
{
// state nodes
node[shape=oval;style=filled]
normal[label="Normal"];
ops_requested_resync[label="Ops requested for resync"];
exemptions_requested[label="Exemptions Requested"]
quiets_requested[label="Quiets Requested"]
bans_requested[label="Bans Requested"]
modes_requested[label="Modes Requested"]
Defcon

node[shape=component;style=open]
Resync;
RequestExemptions;
ExemptionReceived;
RequestQuiets;
QuietReceived;
RequestBans;
BanReceived;
RequestModes;
ChannelModeReceived;
Recalculate;
CalculateDelta;
Educate;
Deop;
UpdateState;

node[shape=plain]

// transitions
normal->Resync->ops_requested_resync;

ops_requested_resync->RequestExemptions->exemptions_requested
exemptions_requested->ExemptionReceived->exemptions_requested

exemptions_requested->RequestQuiets->quiets_requested
quiets_requested->QuietReceived->quiets_requested

quiets_requested->RequestBans->bans_requested
bans_requested->BanReceived->bans_requested

bans_requested->RequestModes->modes_requested
modes_requested->ChannelModeReceived->Recalculate;

Recalculate->Deop->normal
Recalculate->UpdateState->Deop;
Recalculate->Defcon;
UpdateState->Defcon;

normal->CalculateDelta->Educate;
Defcon->CalculateDelta;

// INPUTS!
node[shape=parallelogram;style=filled;color="#aaffaa"]
edge[color="#55aa55"]
command->Resync;
irc_join->Resync;
irc_opup->RequestExemptions;
irc_324->ChannelModeReceived; // response to '/mode #channel'
irc_348->ExemptionReceived; // exemption
irc_349->RequestQuiets; // end of exempt
irc_367->BanReceived; // ban
irc_368->RequestModes; // end of ban
irc_728->QuietReceived; // quiet
irc_729->RequestBans; // end of quiet
irc_mode->CalculateDelta[label="if changable state"];
}