File Metadata
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
Comment Actions
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"]; }