haal-models-0.1.3.0: src/Haal/Models/MQTT/MosquittoInvalid.hs
-- Generated by haal-gen. Do not edit manually.
module Haal.Models.MQTT.MosquittoInvalid
( MosquittoInvalidInput (..)
, MosquittoInvalidOutput (..)
, mosquittoInvalid
) where
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomatonTable)
data MosquittoInvalidInput
= 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 MosquittoInvalidOutput
= Out_ConnAckPacket_false_0
| Out_ConnectionClosed__ConnAckPacket_false_2
| Out_ConnectionClosed
| Out_Empty
| Out_SubAck
| Out_UnSubAck
| Out_Pub_my_topic_messageQos0
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 -> 0 / Out_ConnectionClosed
In_ConnectNonClean -> 0 / Out_ConnectionClosed
In_PublishQoS0Dup -> 1 / Out_Empty
In_PublishQoSMinus1 -> 0 / Out_ConnectionClosed
In_PublishWildCard -> 0 / Out_ConnectionClosed
In_SubscribeWildMatch -> 1 / Out_SubAck
In_UnSubscribeWildMatch -> 1 / Out_UnSubAck
In_Subscribe -> 2 / Out_SubAck
In_SubscribeMinus1 -> 0 / Out_ConnectionClosed
In_UnSubScribe -> 1 / Out_UnSubAck
In_Disconnect -> 0 / Out_ConnectionClosed
2 In_Connect -> 0 / Out_ConnectionClosed
In_ConnectNonClean -> 0 / Out_ConnectionClosed
In_PublishQoS0Dup -> 2 / Out_Pub_my_topic_messageQos0
In_PublishQoSMinus1 -> 0 / Out_ConnectionClosed
In_PublishWildCard -> 0 / Out_ConnectionClosed
In_SubscribeWildMatch -> 2 / Out_SubAck
In_UnSubscribeWildMatch -> 2 / Out_UnSubAck
In_Subscribe -> 2 / Out_SubAck
In_SubscribeMinus1 -> 0 / Out_ConnectionClosed
In_UnSubScribe -> 1 / Out_UnSubAck
In_Disconnect -> 0 / Out_ConnectionClosed
-}
mosquittoInvalid :: MealyAutomaton Int MosquittoInvalidInput MosquittoInvalidOutput
mosquittoInvalid =
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\
\\0\0\1\0\0\1\1\2\0\1\0\
\\0\0\2\0\0\2\2\2\0\1\0"
lambdaTable =
"\0\1\2\2\2\2\2\2\2\2\2\
\\2\2\3\2\2\4\5\4\2\5\2\
\\2\2\6\2\2\4\5\4\2\5\2"