haal-models-0.1.3.0: src/Haal/Models/MQTT/HbmqttInvalid.hs
-- Generated by haal-gen. Do not edit manually.
module Haal.Models.MQTT.HbmqttInvalid
( HbmqttInvalidInput (..)
, HbmqttInvalidOutput (..)
, hbmqttInvalid
) where
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomatonTable)
data HbmqttInvalidInput
= In_Connect
| In_ConnectNonClean
| In_PublishQoS0Dup
| In_PublishQoSMinus1
| In_PublishWildCard
| In_SubscribeWildMatch
| In_UnSubscribeWildMatch
| In_Subscribe
| In_SubscribeMinus1
| In_UnSubScribe
| In_Disconnect
deriving (Show, Eq, Ord, Enum, Bounded)
data HbmqttInvalidOutput
= Out_ConnAckPacket_false_0
| Out_ConnectionClosed__ConnAckPacket_false_2
| Out_ConnectionClosed
| Out_Empty
| Out_SubAck
| Out_UnSubAck
deriving (Show, Eq, Ord, Enum, Bounded)
{- Transitions (state input -> next state / output):
0 In_Connect -> 1 / Out_ConnAckPacket_false_0
In_ConnectNonClean -> 0 / Out_ConnectionClosed__ConnAckPacket_false_2
In_PublishQoS0Dup -> 0 / Out_ConnectionClosed
In_PublishQoSMinus1 -> 0 / Out_ConnectionClosed
In_PublishWildCard -> 0 / Out_ConnectionClosed
In_SubscribeWildMatch -> 0 / Out_ConnectionClosed
In_UnSubscribeWildMatch -> 0 / Out_ConnectionClosed
In_Subscribe -> 0 / Out_ConnectionClosed
In_SubscribeMinus1 -> 0 / Out_ConnectionClosed
In_UnSubScribe -> 0 / Out_ConnectionClosed
In_Disconnect -> 0 / Out_ConnectionClosed
1 In_Connect -> 1 / Out_Empty
In_ConnectNonClean -> 1 / Out_Empty
In_PublishQoS0Dup -> 1 / Out_Empty
In_PublishQoSMinus1 -> 1 / Out_Empty
In_PublishWildCard -> 2 / Out_Empty
In_SubscribeWildMatch -> 1 / Out_SubAck
In_UnSubscribeWildMatch -> 1 / Out_UnSubAck
In_Subscribe -> 1 / Out_SubAck
In_SubscribeMinus1 -> 1 / Out_SubAck
In_UnSubScribe -> 1 / Out_UnSubAck
In_Disconnect -> 0 / Out_ConnectionClosed
2 In_Connect -> 2 / Out_Empty
In_ConnectNonClean -> 2 / Out_Empty
In_PublishQoS0Dup -> 2 / Out_Empty
In_PublishQoSMinus1 -> 2 / Out_Empty
In_PublishWildCard -> 2 / Out_Empty
In_SubscribeWildMatch -> 2 / Out_Empty
In_UnSubscribeWildMatch -> 2 / Out_Empty
In_Subscribe -> 2 / Out_Empty
In_SubscribeMinus1 -> 2 / Out_Empty
In_UnSubScribe -> 2 / Out_Empty
In_Disconnect -> 2 / Out_Empty
-}
hbmqttInvalid :: MealyAutomaton Int HbmqttInvalidInput HbmqttInvalidOutput
hbmqttInvalid =
case mkMealyAutomatonTable 3 0 deltaTable lambdaTable of
Right m -> m
Left err -> error ("haal-gen: invalid transition table: " ++ err)
where
deltaTable =
"\1\0\0\0\0\0\0\0\0\0\0\
\\1\1\1\1\2\1\1\1\1\1\0\
\\2\2\2\2\2\2\2\2\2\2\2"
lambdaTable =
"\0\1\2\2\2\2\2\2\2\2\2\
\\3\3\3\3\3\4\5\4\4\5\2\
\\3\3\3\3\3\3\3\3\3\3\3"