haal-models-0.1.0.0: src/Haal/Models/MQTT/HbmqttTwoClient.hs
-- Generated by haal-gen. Do not edit manually.
module Haal.Models.MQTT.HbmqttTwoClient
( HbmqttTwoClientInput (..)
, HbmqttTwoClientOutput (..)
, hbmqttTwoClient
) where
import qualified Data.Set as Set
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomaton)
data HbmqttTwoClientInput
= In_ConnectC2
| In_ConnectC1WithWill
| In_PublishQoS0C2
| In_PublishQoS1C1
| In_SubscribeC1
| In_UnSubScribeC1
| In_SubscribeC2
| In_UnSubScribeC2
| In_DisconnectTCPC1
deriving (Show, Eq, Ord, Enum, Bounded)
data HbmqttTwoClientOutput
= Out_C1_ConnectionClosed_client_close___c2_ConnAck
| Out_C1_ConnAck__c2_ConnectionClosed_client_close
| Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
| Out_Empty__c2_ConnAck
| Out_Empty__c2_ConnectionClosed_client_close
| Out_C1_PubAck__c2_ConnectionClosed_client_close
| Out_C1_SubAck__c2_ConnectionClosed_client_close
| Out_C1_UnSubAck__c2_ConnectionClosed_client_close
| Out_Empty__Empty
| Out_C1_PubAck__Empty
| Out_C1_SubAck__Empty
| Out_C1_UnSubAck__Empty
| Out_Empty__c2_SubAck
| Out_Empty__c2_UnSubAck
| Out_C1_ConnectionClosed_client_close___Empty
| Out_C1_ConnAck__Empty
| Out_C1_ConnectionClosed_client_close___c2_SubAck
| Out_C1_ConnectionClosed_client_close___c2_UnSubAck
| Out_Pub_c1_my_topic_messageQos0___Empty
| Out_Pub_c1_my_topic_messageQos1___c1_PubAck__Empty
| Out_Pub_c1_my_topic_messageQos0___Pub_c2_my_topic_messageQos0
| Out_Pub_c1_my_topic_messageQos1___c1_PubAck__Pub_c2_my_topic_messageQos1
| Out_C1_ConnectionClosed_client_close___Pub_c2_my_topic_bye
| Out_Empty__Pub_c2_my_topic_messageQos0
| Out_C1_PubAck__Pub_c2_my_topic_messageQos1
| Out_C1_ConnectionClosed_client_close___Pub_c2_my_topic_messageQos0
| Out_Pub_c1_my_topic_messageQos1___c1_PubAck__c2_ConnectionClosed_client_close
deriving (Show, Eq, Ord, Enum, Bounded)
hbmqttTwoClient :: MealyAutomaton Int HbmqttTwoClientInput HbmqttTwoClientOutput
hbmqttTwoClient = mkMealyAutomaton delta lambda (Set.fromList [0..8]) 0
where
delta 0 In_ConnectC2 = 1
delta 0 In_ConnectC1WithWill = 2
delta 0 In_PublishQoS0C2 = 0
delta 0 In_PublishQoS1C1 = 0
delta 0 In_SubscribeC1 = 0
delta 0 In_UnSubScribeC1 = 0
delta 0 In_SubscribeC2 = 0
delta 0 In_UnSubScribeC2 = 0
delta 0 In_DisconnectTCPC1 = 0
delta 2 In_ConnectC2 = 3
delta 2 In_ConnectC1WithWill = 2
delta 2 In_PublishQoS0C2 = 2
delta 2 In_PublishQoS1C1 = 2
delta 2 In_SubscribeC1 = 4
delta 2 In_UnSubScribeC1 = 2
delta 2 In_SubscribeC2 = 2
delta 2 In_UnSubScribeC2 = 2
delta 2 In_DisconnectTCPC1 = 0
delta 3 In_ConnectC2 = 3
delta 3 In_ConnectC1WithWill = 3
delta 3 In_PublishQoS0C2 = 3
delta 3 In_PublishQoS1C1 = 3
delta 3 In_SubscribeC1 = 5
delta 3 In_UnSubScribeC1 = 3
delta 3 In_SubscribeC2 = 6
delta 3 In_UnSubScribeC2 = 3
delta 3 In_DisconnectTCPC1 = 1
delta 1 In_ConnectC2 = 1
delta 1 In_ConnectC1WithWill = 3
delta 1 In_PublishQoS0C2 = 1
delta 1 In_PublishQoS1C1 = 1
delta 1 In_SubscribeC1 = 1
delta 1 In_UnSubScribeC1 = 1
delta 1 In_SubscribeC2 = 7
delta 1 In_UnSubScribeC2 = 1
delta 1 In_DisconnectTCPC1 = 1
delta 5 In_ConnectC2 = 5
delta 5 In_ConnectC1WithWill = 5
delta 5 In_PublishQoS0C2 = 5
delta 5 In_PublishQoS1C1 = 5
delta 5 In_SubscribeC1 = 5
delta 5 In_UnSubScribeC1 = 3
delta 5 In_SubscribeC2 = 8
delta 5 In_UnSubScribeC2 = 5
delta 5 In_DisconnectTCPC1 = 1
delta 8 In_ConnectC2 = 8
delta 8 In_ConnectC1WithWill = 8
delta 8 In_PublishQoS0C2 = 8
delta 8 In_PublishQoS1C1 = 8
delta 8 In_SubscribeC1 = 8
delta 8 In_UnSubScribeC1 = 6
delta 8 In_SubscribeC2 = 8
delta 8 In_UnSubScribeC2 = 5
delta 8 In_DisconnectTCPC1 = 7
delta 6 In_ConnectC2 = 6
delta 6 In_ConnectC1WithWill = 6
delta 6 In_PublishQoS0C2 = 6
delta 6 In_PublishQoS1C1 = 6
delta 6 In_SubscribeC1 = 8
delta 6 In_UnSubScribeC1 = 6
delta 6 In_SubscribeC2 = 6
delta 6 In_UnSubScribeC2 = 3
delta 6 In_DisconnectTCPC1 = 7
delta 7 In_ConnectC2 = 7
delta 7 In_ConnectC1WithWill = 6
delta 7 In_PublishQoS0C2 = 7
delta 7 In_PublishQoS1C1 = 7
delta 7 In_SubscribeC1 = 7
delta 7 In_UnSubScribeC1 = 7
delta 7 In_SubscribeC2 = 7
delta 7 In_UnSubScribeC2 = 1
delta 7 In_DisconnectTCPC1 = 7
delta 4 In_ConnectC2 = 5
delta 4 In_ConnectC1WithWill = 4
delta 4 In_PublishQoS0C2 = 4
delta 4 In_PublishQoS1C1 = 4
delta 4 In_SubscribeC1 = 4
delta 4 In_UnSubScribeC1 = 2
delta 4 In_SubscribeC2 = 4
delta 4 In_UnSubScribeC2 = 4
delta 4 In_DisconnectTCPC1 = 0
delta _ _ = error "haal-gen: undefined transition"
lambda 0 In_ConnectC2 = Out_C1_ConnectionClosed_client_close___c2_ConnAck
lambda 0 In_ConnectC1WithWill = Out_C1_ConnAck__c2_ConnectionClosed_client_close
lambda 0 In_PublishQoS0C2 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 0 In_PublishQoS1C1 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 0 In_SubscribeC1 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 0 In_UnSubScribeC1 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 0 In_SubscribeC2 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 0 In_UnSubScribeC2 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 0 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 2 In_ConnectC2 = Out_Empty__c2_ConnAck
lambda 2 In_ConnectC1WithWill = Out_Empty__c2_ConnectionClosed_client_close
lambda 2 In_PublishQoS0C2 = Out_Empty__c2_ConnectionClosed_client_close
lambda 2 In_PublishQoS1C1 = Out_C1_PubAck__c2_ConnectionClosed_client_close
lambda 2 In_SubscribeC1 = Out_C1_SubAck__c2_ConnectionClosed_client_close
lambda 2 In_UnSubScribeC1 = Out_C1_UnSubAck__c2_ConnectionClosed_client_close
lambda 2 In_SubscribeC2 = Out_Empty__c2_ConnectionClosed_client_close
lambda 2 In_UnSubScribeC2 = Out_Empty__c2_ConnectionClosed_client_close
lambda 2 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda 3 In_ConnectC2 = Out_Empty__Empty
lambda 3 In_ConnectC1WithWill = Out_Empty__Empty
lambda 3 In_PublishQoS0C2 = Out_Empty__Empty
lambda 3 In_PublishQoS1C1 = Out_C1_PubAck__Empty
lambda 3 In_SubscribeC1 = Out_C1_SubAck__Empty
lambda 3 In_UnSubScribeC1 = Out_C1_UnSubAck__Empty
lambda 3 In_SubscribeC2 = Out_Empty__c2_SubAck
lambda 3 In_UnSubScribeC2 = Out_Empty__c2_UnSubAck
lambda 3 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 1 In_ConnectC2 = Out_C1_ConnectionClosed_client_close___Empty
lambda 1 In_ConnectC1WithWill = Out_C1_ConnAck__Empty
lambda 1 In_PublishQoS0C2 = Out_C1_ConnectionClosed_client_close___Empty
lambda 1 In_PublishQoS1C1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 1 In_SubscribeC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 1 In_UnSubScribeC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 1 In_SubscribeC2 = Out_C1_ConnectionClosed_client_close___c2_SubAck
lambda 1 In_UnSubScribeC2 = Out_C1_ConnectionClosed_client_close___c2_UnSubAck
lambda 1 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 5 In_ConnectC2 = Out_Empty__Empty
lambda 5 In_ConnectC1WithWill = Out_Empty__Empty
lambda 5 In_PublishQoS0C2 = Out_Pub_c1_my_topic_messageQos0___Empty
lambda 5 In_PublishQoS1C1 = Out_Pub_c1_my_topic_messageQos1___c1_PubAck__Empty
lambda 5 In_SubscribeC1 = Out_C1_SubAck__Empty
lambda 5 In_UnSubScribeC1 = Out_C1_UnSubAck__Empty
lambda 5 In_SubscribeC2 = Out_Empty__c2_SubAck
lambda 5 In_UnSubScribeC2 = Out_Empty__c2_UnSubAck
lambda 5 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 8 In_ConnectC2 = Out_Empty__Empty
lambda 8 In_ConnectC1WithWill = Out_Empty__Empty
lambda 8 In_PublishQoS0C2 = Out_Pub_c1_my_topic_messageQos0___Pub_c2_my_topic_messageQos0
lambda 8 In_PublishQoS1C1 = Out_Pub_c1_my_topic_messageQos1___c1_PubAck__Pub_c2_my_topic_messageQos1
lambda 8 In_SubscribeC1 = Out_C1_SubAck__Empty
lambda 8 In_UnSubScribeC1 = Out_C1_UnSubAck__Empty
lambda 8 In_SubscribeC2 = Out_Empty__c2_SubAck
lambda 8 In_UnSubScribeC2 = Out_Empty__c2_UnSubAck
lambda 8 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___Pub_c2_my_topic_bye
lambda 6 In_ConnectC2 = Out_Empty__Empty
lambda 6 In_ConnectC1WithWill = Out_Empty__Empty
lambda 6 In_PublishQoS0C2 = Out_Empty__Pub_c2_my_topic_messageQos0
lambda 6 In_PublishQoS1C1 = Out_C1_PubAck__Pub_c2_my_topic_messageQos1
lambda 6 In_SubscribeC1 = Out_C1_SubAck__Empty
lambda 6 In_UnSubScribeC1 = Out_C1_UnSubAck__Empty
lambda 6 In_SubscribeC2 = Out_Empty__c2_SubAck
lambda 6 In_UnSubScribeC2 = Out_Empty__c2_UnSubAck
lambda 6 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___Pub_c2_my_topic_bye
lambda 7 In_ConnectC2 = Out_C1_ConnectionClosed_client_close___Empty
lambda 7 In_ConnectC1WithWill = Out_C1_ConnAck__Empty
lambda 7 In_PublishQoS0C2 = Out_C1_ConnectionClosed_client_close___Pub_c2_my_topic_messageQos0
lambda 7 In_PublishQoS1C1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 7 In_SubscribeC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 7 In_UnSubScribeC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 7 In_SubscribeC2 = Out_C1_ConnectionClosed_client_close___c2_SubAck
lambda 7 In_UnSubScribeC2 = Out_C1_ConnectionClosed_client_close___c2_UnSubAck
lambda 7 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___Empty
lambda 4 In_ConnectC2 = Out_Empty__c2_ConnAck
lambda 4 In_ConnectC1WithWill = Out_Empty__c2_ConnectionClosed_client_close
lambda 4 In_PublishQoS0C2 = Out_Empty__c2_ConnectionClosed_client_close
lambda 4 In_PublishQoS1C1 = Out_Pub_c1_my_topic_messageQos1___c1_PubAck__c2_ConnectionClosed_client_close
lambda 4 In_SubscribeC1 = Out_C1_SubAck__c2_ConnectionClosed_client_close
lambda 4 In_UnSubScribeC1 = Out_C1_UnSubAck__c2_ConnectionClosed_client_close
lambda 4 In_SubscribeC2 = Out_Empty__c2_ConnectionClosed_client_close
lambda 4 In_UnSubScribeC2 = Out_Empty__c2_ConnectionClosed_client_close
lambda 4 In_DisconnectTCPC1 = Out_C1_ConnectionClosed_client_close___c2_ConnectionClosed_client_close
lambda _ _ = error "haal-gen: undefined transition"