Cluster-Init

 view release on metacpan or  search on metacpan

lib/Cluster/Init/DFA/Daemon.pm  view on Meta::CPAN

package Cluster::Init::DFA::Daemon;
# 
# AUTOMATICALLY GENERATED by ./dot2dfa
# Sun Jul 20 00:38:34 2003

# DO NOT EDIT
#
#   Original .dot file contents included below __END__.
#
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(DFA_ACTIONS ACCEPT CLTAB HALT HALTING LISTEN READLINE START TELLING _ANY_ TERM IDLE CLTAB_OK CLTAB_NOK SOCKETIO SOCKET_ERROR WRITETIME CLIENTIO TIMEOUT CMDERR TELL SHUTDOWN GROUP_NOK GROUPTOLD HALTED HALTTIME);         
our %EXPORT_TAGS = (constants => [qw(ACCEPT CLTAB HALT HALTING LISTEN READLINE START TELLING _ANY_ TERM IDLE CLTAB_OK CLTAB_NOK SOCKETIO SOCKET_ERROR WRITETIME CLIENTIO TIMEOUT CMDERR TELL SHUTDOWN GROUP_NOK GROUPTOLD HALTED HALTTIME)]);

my $debug = $ENV{DEBUG};

# Actions
#   (you need to implement these in caller)
#
#   Action       =>                   Value, # Events it can generate
#
use constant DFA_ACTIONS => (
    BYE 	 =>	 '$self->bye(@arg)', # HALTTIME
    GETCMD	 =>   '$self->getcmd(@arg)', # CMDERR SHUTDOWN TELL
					     # TIMEOUT
    HALTALL	 =>  '$self->haltall(@arg)', # HALTED
    PUTRES	 =>   '$self->putres(@arg)', # HALTTIME SOCKET_ERROR
					     # WRITETIME
    READ_CLTAB	 => '$self->read_cltab(@arg)', # CLTAB_NOK CLTAB_OK
					     # IDLE
    START_LISTENER => '$self->start_listener(@arg)', # SOCKET_ERROR
					     # WRITETIME
    TELLGROUP	 => '$self->tellgroup(@arg)', # GROUPTOLD GROUP_NOK
					     # SHUTDOWN
    WATCH_CLIENT => '$self->watch_client(@arg)', # TIMEOUT
    WRITESTAT	 => '$self->writestat(@arg)', # SOCKET_ERROR
					     # WRITETIME
);


my %const2act = DFA_ACTIONS;

# States
# use constant State      =>         Value; # Events it can handle     
#
use constant ACCEPT	  =>	  'ACCEPT'; # CLIENTIO TIMEOUT
use constant CLTAB	  =>	   'CLTAB'; # CLTAB_NOK CLTAB_OK
use constant HALT	  =>	    'HALT'; # HALTTIME
use constant HALTING	  =>	 'HALTING'; # HALTED
use constant LISTEN	  =>	  'LISTEN'; # SOCKETIO SOCKET_ERROR
					    # WRITETIME
use constant READLINE	  =>	'READLINE'; # CMDERR SHUTDOWN TELL
					    # TIMEOUT
use constant START	  =>	   'START'; # CLTAB_NOK CLTAB_OK IDLE
use constant TELLING	  =>	 'TELLING'; # GROUPTOLD GROUP_NOK
					    # SHUTDOWN
use constant _ANY_	  =>	   '_ANY_'; # TERM


# Events
# use constant Event      =>         Value; # States it can be accepted in
#
use constant TERM	  =>	    'TERM'; # _ANY_
use constant IDLE	  =>	    'IDLE'; # START
use constant CLTAB_OK	  =>	'CLTAB_OK'; # CLTAB START
use constant CLTAB_NOK	  =>   'CLTAB_NOK'; # CLTAB START
use constant SOCKETIO	  =>	'SOCKETIO'; # LISTEN
use constant SOCKET_ERROR => 'SOCKET_ERROR'; # LISTEN
use constant WRITETIME	  =>   'WRITETIME'; # LISTEN
use constant CLIENTIO	  =>	'CLIENTIO'; # ACCEPT
use constant TIMEOUT	  =>	 'TIMEOUT'; # ACCEPT READLINE
use constant CMDERR	  =>	  'CMDERR'; # READLINE
use constant TELL	  =>	    'TELL'; # READLINE
use constant SHUTDOWN	  =>	'SHUTDOWN'; # READLINE TELLING
use constant GROUP_NOK	  =>   'GROUP_NOK'; # TELLING
use constant GROUPTOLD	  =>   'GROUPTOLD'; # TELLING
use constant HALTED	  =>	  'HALTED'; # HALTING
use constant HALTTIME	  =>	'HALTTIME'; # HALT


use constant GRAPH => {
  ACCEPT   => {
                CLIENTIO => { action => "GETCMD", newstate => "READLINE" },
                TIMEOUT  => { action => "PUTRES", newstate => "LISTEN" },
              },
  CLTAB    => {
                CLTAB_NOK => { action => "PUTRES", newstate => "LISTEN" },
                CLTAB_OK  => { action => "TELLGROUP", newstate => "TELLING" },
              },
  HALT     => { HALTTIME => { action => "BYE", newstate => "HALT" } },
  HALTING  => { HALTED => { action => "PUTRES", newstate => "HALT" } },
  LISTEN   => {
                SOCKETIO     => { action => "WATCH_CLIENT", newstate => "ACCEPT" },
                SOCKET_ERROR => { action => "", newstate => "HALT" },
                WRITETIME    => { action => "WRITESTAT", newstate => "LISTEN" },
              },



( run in 1.967 second using v1.01-cache-2.11-cpan-39bf76dae61 )