\section{General message format}
Messages are delimited by newlines to make processing by line based devices
more easy. Message exchanges have a \emph{Request} and \emph{Response} header.
The \emph{Request} header means that the server is sending to the client. The
\emph{Response} header means that the client is sending to the server. In some
cases either the \emph{Request} or \emph{Response} is empty. This means that
the message is not acknowledged or responded upon.

\section{Handshake}
\todo{Handshake, here the client tells the server what they can do}

\newpage
\section{mTasks}
\begin{table}[!ht]
	\centering
	\begin{subfigure}[t]{.48\textwidth}
		\begin{tabular}{ll}
			\toprule
			\multicolumn{2}{c}{Request}\\
			byte & value\\
			\midrule
			1 & \texttt{'t'}\\
			2,3 & interval\\
			4,5 & length (\texttt{n})\\
			6 to n+6 & bytecode\\
			\midrule\midrule
			\multicolumn{2}{c}{Response}\\
			byte & value\\
			\midrule
			1 & \texttt{'t'}\\
			2,3 & task id\\
			\bottomrule
		\end{tabular}
		\caption{Send a task}
	\end{subfigure}
	\quad%
	\begin{subfigure}[t]{.48\textwidth}
		\begin{tabular}{ll}
			\toprule
			\multicolumn{2}{c}{Request}\\
			byte & meaning\\
			\midrule
			1 & \texttt{'d'}\\
			2,3 & task id\\
			\midrule\midrule
			\multicolumn{2}{c}{Response}\\
			byte & value\\
			\midrule
			1 & \texttt{'d'}\\
			2,3 & task id\\
			\bottomrule
		\end{tabular}
		\caption{Delete a task}
	\end{subfigure}
	\caption{Message protocol for exchanging tasks}
\end{table}

\section{SDSs}
\begin{table}[!ht]
	\centering
	\begin{subfigure}[t]{.2\textwidth}
		\begin{tabular}{ll}
			\toprule
			\multicolumn{2}{c}{Request}\\
			byte & meaning\\
			\midrule
			1 & \texttt{'s'}\\
			2,3 & identifier\\
			4,5 & value\\
			\midrule\midrule
			\multicolumn{2}{c}{Response}\\
			byte & meaning\\
			\midrule
			1 & \texttt{'s'}\\
			2,3 & identifier\\
			\bottomrule
		\end{tabular}
		\caption{Send an SDS specification}
	\end{subfigure}
	\quad%
	\begin{subfigure}[t]{.2\textwidth}
		\begin{tabular}{ll}
			\toprule
			\multicolumn{2}{c}{Response}\\
			byte & value\\
			\midrule
			1 & \texttt{'a'}\\
			2,3 & SDS id\\
			\midrule\midrule
			\multicolumn{2}{c}{Request}\\
			byte & value\\
			\midrule
			1 & \texttt{'a'}\\
			2,3 & SDS id\\
			\bottomrule
		\end{tabular}
		\caption{Delete a SDS}
	\end{subfigure}
	\quad%
	\begin{subfigure}[t]{.2\textwidth}
		\begin{tabular}{ll}
			\toprule
			\multicolumn{2}{c}{Request}\\
			byte & meaning\\
			\midrule
			1 & \texttt{'u'}\\
			2,3 & sdsid\\
			4,5 & value\\
			\midrule\midrule
			\multicolumn{2}{c}{Response}\\
			\bottomrule
		\end{tabular}
		\caption{SDS update}
	\end{subfigure}
	\quad%
	\begin{subfigure}[t]{.2\textwidth}
		\begin{tabular}{ll}
			\toprule
			\multicolumn{2}{c}{Response}\\
			\midrule\midrule
			\multicolumn{2}{c}{Request}\\
			byte & value\\
			\midrule
			1 & \texttt{'p'}\\
			2,3 & SDS id\\
			4,5 & value\\
			\bottomrule
		\end{tabular}
		\caption{SDS publish}
	\end{subfigure}
	\caption{Message protocol for exchanging SDSs}
\end{table}
