+\subsection{Connection types}\label{lst:connection_types}
+The connection between the \gls{ITASK} server and the \gls{MTASK} devices are communication method agnostic.
+As long as the \cleaninline{channelSync} type class is implemented, the communication method can be used.
+\Cref{lst:conn_types} shows the data types for the connections.
+
+\begin{lstClean}[label={lst:conn_types},caption={Data types for the different connections in \gls{MTASK}.}]
+:: TCPSettings =
+ { host :: String
+ , port :: Int
+ , pingTimeout :: ?Int
+ }
+:: MQTTSettings =
+ { host :: String
+ , port :: Int
+ , mcuId :: String
+ , serverId :: String
+ , auth :: MQTTAuth
+ }
+:: TTYSettings =
+ { devicePath :: String
+ , baudrate :: BaudRate
+ , bytesize :: ByteSize
+ , parity :: Parity
+ , stop2bits :: Bool
+ , xonxoff :: Bool
+ , sleepTime :: Int
+ }
+\end{lstClean}
+