Esempio n. 1
0
 protected void InitStates()
 {
     fsm = new FiniteStateMachine();
     fsm.AddAllStates(typeof(States));
     fsm.AddStateTransition(States.Disconnected, States.Connecting, Transitions.StartConnect);
     fsm.AddStateTransition(States.Connecting, States.Connected, Transitions.ConnectionSuccess);
     fsm.AddStateTransition(States.Connecting, States.Disconnected, Transitions.ConnectionFailure);
     fsm.AddStateTransition(States.Connected, States.Disconnected, Transitions.Disconnect);
     fsm.SetCurrentState(States.Disconnected);
 }
Esempio n. 2
0
 private void InitStates()
 {
     fsm = new FiniteStateMachine();
     fsm.AddAllStates(typeof(PacketReadState));
     fsm.AddStateTransition(PacketReadState.WAIT_NEW_PACKET, PacketReadState.WAIT_DATA_SIZE, PacketReadTransition.HeaderReceived);
     fsm.AddStateTransition(PacketReadState.WAIT_DATA_SIZE, PacketReadState.WAIT_DATA, PacketReadTransition.SizeReceived);
     fsm.AddStateTransition(PacketReadState.WAIT_DATA_SIZE, PacketReadState.WAIT_DATA_SIZE_FRAGMENT, PacketReadTransition.IncompleteSize);
     fsm.AddStateTransition(PacketReadState.WAIT_DATA_SIZE_FRAGMENT, PacketReadState.WAIT_DATA, PacketReadTransition.WholeSizeReceived);
     fsm.AddStateTransition(PacketReadState.WAIT_DATA, PacketReadState.WAIT_NEW_PACKET, PacketReadTransition.PacketFinished);
     fsm.AddStateTransition(PacketReadState.WAIT_DATA, PacketReadState.INVALID_DATA, PacketReadTransition.InvalidData);
     fsm.AddStateTransition(PacketReadState.INVALID_DATA, PacketReadState.WAIT_NEW_PACKET, PacketReadTransition.InvalidDataFinished);
     fsm.SetCurrentState(PacketReadState.WAIT_NEW_PACKET);
 }