haal-models-0.1.0.0: src/Haal/Models/TCP/TCPLinuxClient.hs
-- Generated by haal-gen. Do not edit manually.
module Haal.Models.TCP.TCPLinuxClient
( TCPLinuxClientInput (..)
, TCPLinuxClientOutput (..)
, tCPLinuxClient
) where
import qualified Data.Set as Set
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomaton)
data TCPLinuxClientInput
= In_ACK_RST_V_V_0
| In_ACK_PSH_V_V_1
| In_SYN_ACK_V_V_0
| In_RST_V_V_0
| In_ACK_V_V_0
| In_FIN_ACK_V_V_0
| In_SYN_V_V_0
| In_RCV
| In_CLOSE
| In_CONNECT
deriving (Show, Eq, Ord, Enum, Bounded)
data TCPLinuxClientOutput
= Out_TIMEOUT
| Out_RST_ZERO_ZERO_0
| Out_ACK_RST_ZERO_NEXT_0
| Out_SYN_FRESH_ZERO_0
| Out_ACK_NEXT_NEXT_0
| Out_ACK_SYN_CURRENT_NEXT_0
| Out_ACK_FIN_NEXT_CURRENT_0
| Out_ACK_NEXT_CURRENT_0
| Out_RST_NEXT_ZERO_0
| Out_ACK_SYN_FRESH_NEXT_0
| Out_ACK_RST_NEXT_CURRENT_0
deriving (Show, Eq, Ord, Enum, Bounded)
tCPLinuxClient :: MealyAutomaton Int TCPLinuxClientInput TCPLinuxClientOutput
tCPLinuxClient = mkMealyAutomaton delta lambda (Set.fromList [0..14]) 0
where
delta 0 In_ACK_RST_V_V_0 = 0
delta 0 In_ACK_PSH_V_V_1 = 0
delta 0 In_SYN_ACK_V_V_0 = 0
delta 0 In_RST_V_V_0 = 0
delta 0 In_ACK_V_V_0 = 0
delta 0 In_FIN_ACK_V_V_0 = 0
delta 0 In_SYN_V_V_0 = 0
delta 0 In_RCV = 0
delta 0 In_CLOSE = 1
delta 0 In_CONNECT = 2
delta 1 In_ACK_RST_V_V_0 = 1
delta 1 In_CLOSE = 1
delta 1 In_CONNECT = 1
delta 1 In_ACK_PSH_V_V_1 = 1
delta 1 In_SYN_ACK_V_V_0 = 1
delta 1 In_RST_V_V_0 = 1
delta 1 In_ACK_V_V_0 = 1
delta 1 In_FIN_ACK_V_V_0 = 1
delta 1 In_SYN_V_V_0 = 1
delta 1 In_RCV = 1
delta 2 In_ACK_RST_V_V_0 = 1
delta 2 In_CLOSE = 3
delta 2 In_CONNECT = 2
delta 2 In_ACK_PSH_V_V_1 = 2
delta 2 In_ACK_V_V_0 = 2
delta 2 In_FIN_ACK_V_V_0 = 2
delta 2 In_RCV = 2
delta 2 In_SYN_ACK_V_V_0 = 4
delta 2 In_RST_V_V_0 = 5
delta 2 In_SYN_V_V_0 = 6
delta 6 In_ACK_RST_V_V_0 = 1
delta 6 In_RST_V_V_0 = 1
delta 6 In_CLOSE = 7
delta 6 In_CONNECT = 6
delta 6 In_SYN_ACK_V_V_0 = 6
delta 6 In_SYN_V_V_0 = 6
delta 6 In_RCV = 6
delta 6 In_ACK_PSH_V_V_1 = 8
delta 6 In_ACK_V_V_0 = 4
delta 6 In_FIN_ACK_V_V_0 = 9
delta 4 In_ACK_RST_V_V_0 = 1
delta 4 In_RST_V_V_0 = 1
delta 4 In_CLOSE = 7
delta 4 In_CONNECT = 4
delta 4 In_SYN_ACK_V_V_0 = 4
delta 4 In_ACK_V_V_0 = 4
delta 4 In_SYN_V_V_0 = 4
delta 4 In_ACK_PSH_V_V_1 = 8
delta 4 In_FIN_ACK_V_V_0 = 9
delta 4 In_RCV = 10
delta 3 In_ACK_RST_V_V_0 = 1
delta 3 In_ACK_PSH_V_V_1 = 1
delta 3 In_SYN_ACK_V_V_0 = 1
delta 3 In_RST_V_V_0 = 1
delta 3 In_ACK_V_V_0 = 1
delta 3 In_FIN_ACK_V_V_0 = 1
delta 3 In_SYN_V_V_0 = 1
delta 3 In_CLOSE = 3
delta 3 In_CONNECT = 3
delta 3 In_RCV = 3
delta 5 In_ACK_RST_V_V_0 = 5
delta 5 In_CONNECT = 5
delta 5 In_ACK_PSH_V_V_1 = 5
delta 5 In_SYN_ACK_V_V_0 = 5
delta 5 In_RST_V_V_0 = 5
delta 5 In_ACK_V_V_0 = 5
delta 5 In_FIN_ACK_V_V_0 = 5
delta 5 In_RCV = 5
delta 5 In_CLOSE = 1
delta 5 In_SYN_V_V_0 = 6
delta 8 In_ACK_RST_V_V_0 = 1
delta 8 In_CLOSE = 1
delta 8 In_RST_V_V_0 = 1
delta 8 In_CONNECT = 8
delta 8 In_ACK_PSH_V_V_1 = 8
delta 8 In_SYN_ACK_V_V_0 = 8
delta 8 In_ACK_V_V_0 = 8
delta 8 In_SYN_V_V_0 = 8
delta 8 In_FIN_ACK_V_V_0 = 11
delta 8 In_RCV = 4
delta 7 In_ACK_RST_V_V_0 = 1
delta 7 In_ACK_PSH_V_V_1 = 1
delta 7 In_RST_V_V_0 = 1
delta 7 In_CLOSE = 7
delta 7 In_CONNECT = 7
delta 7 In_SYN_ACK_V_V_0 = 7
delta 7 In_SYN_V_V_0 = 7
delta 7 In_RCV = 7
delta 7 In_ACK_V_V_0 = 12
delta 7 In_FIN_ACK_V_V_0 = 13
delta 9 In_ACK_RST_V_V_0 = 1
delta 9 In_RST_V_V_0 = 1
delta 9 In_CLOSE = 14
delta 9 In_CONNECT = 9
delta 9 In_ACK_PSH_V_V_1 = 9
delta 9 In_SYN_ACK_V_V_0 = 9
delta 9 In_ACK_V_V_0 = 9
delta 9 In_FIN_ACK_V_V_0 = 9
delta 9 In_SYN_V_V_0 = 9
delta 9 In_RCV = 9
delta 10 In_ACK_RST_V_V_0 = 1
delta 10 In_RST_V_V_0 = 1
delta 10 In_CLOSE = 7
delta 10 In_CONNECT = 10
delta 10 In_SYN_ACK_V_V_0 = 10
delta 10 In_ACK_V_V_0 = 10
delta 10 In_SYN_V_V_0 = 10
delta 10 In_RCV = 10
delta 10 In_ACK_PSH_V_V_1 = 4
delta 10 In_FIN_ACK_V_V_0 = 9
delta 11 In_ACK_RST_V_V_0 = 1
delta 11 In_CLOSE = 1
delta 11 In_RST_V_V_0 = 1
delta 11 In_CONNECT = 11
delta 11 In_ACK_PSH_V_V_1 = 11
delta 11 In_SYN_ACK_V_V_0 = 11
delta 11 In_ACK_V_V_0 = 11
delta 11 In_FIN_ACK_V_V_0 = 11
delta 11 In_SYN_V_V_0 = 11
delta 11 In_RCV = 9
delta 12 In_ACK_RST_V_V_0 = 1
delta 12 In_ACK_PSH_V_V_1 = 1
delta 12 In_SYN_ACK_V_V_0 = 1
delta 12 In_RST_V_V_0 = 1
delta 12 In_SYN_V_V_0 = 1
delta 12 In_CLOSE = 12
delta 12 In_CONNECT = 12
delta 12 In_ACK_V_V_0 = 12
delta 12 In_RCV = 12
delta 12 In_FIN_ACK_V_V_0 = 13
delta 13 In_ACK_RST_V_V_0 = 1
delta 13 In_RST_V_V_0 = 1
delta 13 In_CLOSE = 13
delta 13 In_CONNECT = 13
delta 13 In_ACK_PSH_V_V_1 = 13
delta 13 In_SYN_ACK_V_V_0 = 13
delta 13 In_ACK_V_V_0 = 13
delta 13 In_FIN_ACK_V_V_0 = 13
delta 13 In_SYN_V_V_0 = 13
delta 13 In_RCV = 13
delta 14 In_ACK_RST_V_V_0 = 1
delta 14 In_RST_V_V_0 = 1
delta 14 In_CLOSE = 14
delta 14 In_CONNECT = 14
delta 14 In_SYN_ACK_V_V_0 = 14
delta 14 In_SYN_V_V_0 = 14
delta 14 In_RCV = 14
delta 14 In_ACK_PSH_V_V_1 = 3
delta 14 In_ACK_V_V_0 = 3
delta 14 In_FIN_ACK_V_V_0 = 3
delta _ _ = error "haal-gen: undefined transition"
lambda 0 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 0 In_ACK_PSH_V_V_1 = Out_RST_ZERO_ZERO_0
lambda 0 In_SYN_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 0 In_RST_V_V_0 = Out_TIMEOUT
lambda 0 In_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 0 In_FIN_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 0 In_SYN_V_V_0 = Out_ACK_RST_ZERO_NEXT_0
lambda 0 In_RCV = Out_TIMEOUT
lambda 0 In_CLOSE = Out_TIMEOUT
lambda 0 In_CONNECT = Out_SYN_FRESH_ZERO_0
lambda 1 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 1 In_CLOSE = Out_TIMEOUT
lambda 1 In_CONNECT = Out_TIMEOUT
lambda 1 In_ACK_PSH_V_V_1 = Out_RST_ZERO_ZERO_0
lambda 1 In_SYN_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 1 In_RST_V_V_0 = Out_TIMEOUT
lambda 1 In_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 1 In_FIN_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 1 In_SYN_V_V_0 = Out_ACK_RST_ZERO_NEXT_0
lambda 1 In_RCV = Out_TIMEOUT
lambda 2 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 2 In_CLOSE = Out_TIMEOUT
lambda 2 In_CONNECT = Out_TIMEOUT
lambda 2 In_ACK_PSH_V_V_1 = Out_TIMEOUT
lambda 2 In_ACK_V_V_0 = Out_TIMEOUT
lambda 2 In_FIN_ACK_V_V_0 = Out_TIMEOUT
lambda 2 In_RCV = Out_TIMEOUT
lambda 2 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 2 In_RST_V_V_0 = Out_TIMEOUT
lambda 2 In_SYN_V_V_0 = Out_ACK_SYN_CURRENT_NEXT_0
lambda 6 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 6 In_RST_V_V_0 = Out_TIMEOUT
lambda 6 In_CLOSE = Out_ACK_FIN_NEXT_CURRENT_0
lambda 6 In_CONNECT = Out_TIMEOUT
lambda 6 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 6 In_SYN_V_V_0 = Out_TIMEOUT
lambda 6 In_RCV = Out_TIMEOUT
lambda 6 In_ACK_PSH_V_V_1 = Out_ACK_NEXT_NEXT_0
lambda 6 In_ACK_V_V_0 = Out_TIMEOUT
lambda 6 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 4 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 4 In_RST_V_V_0 = Out_TIMEOUT
lambda 4 In_CLOSE = Out_ACK_FIN_NEXT_CURRENT_0
lambda 4 In_CONNECT = Out_TIMEOUT
lambda 4 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 4 In_ACK_V_V_0 = Out_TIMEOUT
lambda 4 In_SYN_V_V_0 = Out_TIMEOUT
lambda 4 In_ACK_PSH_V_V_1 = Out_ACK_NEXT_NEXT_0
lambda 4 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 4 In_RCV = Out_TIMEOUT
lambda 3 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 3 In_ACK_PSH_V_V_1 = Out_RST_NEXT_ZERO_0
lambda 3 In_SYN_ACK_V_V_0 = Out_RST_NEXT_ZERO_0
lambda 3 In_RST_V_V_0 = Out_TIMEOUT
lambda 3 In_ACK_V_V_0 = Out_RST_NEXT_ZERO_0
lambda 3 In_FIN_ACK_V_V_0 = Out_RST_NEXT_ZERO_0
lambda 3 In_SYN_V_V_0 = Out_ACK_RST_ZERO_NEXT_0
lambda 3 In_CLOSE = Out_TIMEOUT
lambda 3 In_CONNECT = Out_TIMEOUT
lambda 3 In_RCV = Out_TIMEOUT
lambda 5 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 5 In_CONNECT = Out_TIMEOUT
lambda 5 In_ACK_PSH_V_V_1 = Out_RST_ZERO_ZERO_0
lambda 5 In_SYN_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 5 In_RST_V_V_0 = Out_TIMEOUT
lambda 5 In_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 5 In_FIN_ACK_V_V_0 = Out_RST_ZERO_ZERO_0
lambda 5 In_RCV = Out_TIMEOUT
lambda 5 In_CLOSE = Out_TIMEOUT
lambda 5 In_SYN_V_V_0 = Out_ACK_SYN_FRESH_NEXT_0
lambda 8 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 8 In_CLOSE = Out_ACK_RST_NEXT_CURRENT_0
lambda 8 In_RST_V_V_0 = Out_TIMEOUT
lambda 8 In_CONNECT = Out_TIMEOUT
lambda 8 In_ACK_PSH_V_V_1 = Out_ACK_NEXT_NEXT_0
lambda 8 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 8 In_ACK_V_V_0 = Out_TIMEOUT
lambda 8 In_SYN_V_V_0 = Out_TIMEOUT
lambda 8 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 8 In_RCV = Out_TIMEOUT
lambda 7 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 7 In_ACK_PSH_V_V_1 = Out_RST_NEXT_ZERO_0
lambda 7 In_RST_V_V_0 = Out_TIMEOUT
lambda 7 In_CLOSE = Out_TIMEOUT
lambda 7 In_CONNECT = Out_TIMEOUT
lambda 7 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 7 In_SYN_V_V_0 = Out_TIMEOUT
lambda 7 In_RCV = Out_TIMEOUT
lambda 7 In_ACK_V_V_0 = Out_TIMEOUT
lambda 7 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 9 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 9 In_RST_V_V_0 = Out_TIMEOUT
lambda 9 In_CLOSE = Out_ACK_FIN_NEXT_CURRENT_0
lambda 9 In_CONNECT = Out_TIMEOUT
lambda 9 In_ACK_PSH_V_V_1 = Out_TIMEOUT
lambda 9 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 9 In_ACK_V_V_0 = Out_TIMEOUT
lambda 9 In_FIN_ACK_V_V_0 = Out_TIMEOUT
lambda 9 In_SYN_V_V_0 = Out_TIMEOUT
lambda 9 In_RCV = Out_TIMEOUT
lambda 10 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 10 In_RST_V_V_0 = Out_TIMEOUT
lambda 10 In_CLOSE = Out_ACK_FIN_NEXT_CURRENT_0
lambda 10 In_CONNECT = Out_TIMEOUT
lambda 10 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 10 In_ACK_V_V_0 = Out_TIMEOUT
lambda 10 In_SYN_V_V_0 = Out_TIMEOUT
lambda 10 In_RCV = Out_TIMEOUT
lambda 10 In_ACK_PSH_V_V_1 = Out_ACK_NEXT_NEXT_0
lambda 10 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 11 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 11 In_CLOSE = Out_ACK_RST_NEXT_CURRENT_0
lambda 11 In_RST_V_V_0 = Out_TIMEOUT
lambda 11 In_CONNECT = Out_TIMEOUT
lambda 11 In_ACK_PSH_V_V_1 = Out_TIMEOUT
lambda 11 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 11 In_ACK_V_V_0 = Out_TIMEOUT
lambda 11 In_FIN_ACK_V_V_0 = Out_TIMEOUT
lambda 11 In_SYN_V_V_0 = Out_TIMEOUT
lambda 11 In_RCV = Out_TIMEOUT
lambda 12 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 12 In_ACK_PSH_V_V_1 = Out_RST_NEXT_ZERO_0
lambda 12 In_SYN_ACK_V_V_0 = Out_RST_NEXT_ZERO_0
lambda 12 In_RST_V_V_0 = Out_TIMEOUT
lambda 12 In_SYN_V_V_0 = Out_ACK_RST_ZERO_NEXT_0
lambda 12 In_CLOSE = Out_TIMEOUT
lambda 12 In_CONNECT = Out_TIMEOUT
lambda 12 In_ACK_V_V_0 = Out_TIMEOUT
lambda 12 In_RCV = Out_TIMEOUT
lambda 12 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_NEXT_0
lambda 13 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 13 In_RST_V_V_0 = Out_TIMEOUT
lambda 13 In_CLOSE = Out_TIMEOUT
lambda 13 In_CONNECT = Out_TIMEOUT
lambda 13 In_ACK_PSH_V_V_1 = Out_ACK_NEXT_CURRENT_0
lambda 13 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 13 In_ACK_V_V_0 = Out_TIMEOUT
lambda 13 In_FIN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 13 In_SYN_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 13 In_RCV = Out_TIMEOUT
lambda 14 In_ACK_RST_V_V_0 = Out_TIMEOUT
lambda 14 In_RST_V_V_0 = Out_TIMEOUT
lambda 14 In_CLOSE = Out_TIMEOUT
lambda 14 In_CONNECT = Out_TIMEOUT
lambda 14 In_SYN_ACK_V_V_0 = Out_ACK_NEXT_CURRENT_0
lambda 14 In_SYN_V_V_0 = Out_TIMEOUT
lambda 14 In_RCV = Out_TIMEOUT
lambda 14 In_ACK_PSH_V_V_1 = Out_TIMEOUT
lambda 14 In_ACK_V_V_0 = Out_TIMEOUT
lambda 14 In_FIN_ACK_V_V_0 = Out_TIMEOUT
lambda _ _ = error "haal-gen: undefined transition"