summaryrefslogtreecommitdiffstats
path: root/thesis/thesis.tex
diff options
context:
space:
mode:
Diffstat (limited to 'thesis/thesis.tex')
-rw-r--r--thesis/thesis.tex53
1 files changed, 31 insertions, 22 deletions
diff --git a/thesis/thesis.tex b/thesis/thesis.tex
index 2c113fc..a5e1f11 100644
--- a/thesis/thesis.tex
+++ b/thesis/thesis.tex
@@ -729,30 +729,39 @@
\cleardoublepage
\subsubsection{Message levels}
\label{subsubsec:message_levels}
- The \gls{osc} interface conceived in the course of this work implements
- several message levels to be able to distinguish between types of
- clients and servers.\\
+ To be able to distinguish between types of
+ clients and servers, several message levels were implemented for the
+ \gls{osc} interface conceived in the course of this work.\\
The \textit{enumeration class} MessageLevel in
- \textit{src/ssr\_global.h} defines the four types \textit{SERVER},
- \textit{THIN\_CLIENT}, \textit{CLIENT}, \textit{GUI\_CLIENT}.\\
- Client \gls{ssr} instances subscribe to (\gls{ssr}) server instances
- with the \textit{MessageLevel} \textit{CLIENT} by default.\\
- Several updating messages, such as information on \gls{cpu} load or master
- signal level are not of interest to a rendering client and should
- therefore not be sent to them, which is why they are only sent to
- clients with a \textit{MessageLevel} of \textit{GUI\_CLIENT} connected
- to a \gls{ssr} instance.\\
+ \textit{src/ssr\_global.h} defines the four types \textit{CLIENT},
+ \textit{GUI\_CLIENT}, \textit{SERVER}, \textit{GUI\_SERVER}, (in
+ ascending order).\\
+ \gls{ssr} client instances subscribe to (\gls{ssr}) server instances
+ with the \textit{MessageLevel} \textit{CLIENT} by default. Server
+ instances get the \textit{MessageLevel} \textit{SERVER} assigned
+ to by each client on subscribing to it.\\
+ In the \gls{osc} interface it is implemented as follows: A (recycable
+ and reconfigurable) list of clients is held by a server instance, which
+ enables for the \textit{MessageLevel} to change for each client. Every
+ client instance holds a (reconfigurable) server representation, that
+ enables for the \textit{MessageLevel} to change for each client towards
+ its server.\\
+ Several messages, such as information related to \gls{cpu} load or
+ master signal level are not useful for a rendering client (additionally
+ they are issued in very short intervals, which can lead to performance
+ issues), which is why they are only sent to clients with a
+ \textit{MessageLevel} of \textit{GUI\_CLIENT} or servers with a
+ \textit{MessageLevel} of \textit{GUI\_SERVER}.\\
Lightweight \gls{osc} capable applications used to control a \gls{ssr}
- server instance or mimicing the behavior of a server instance to
- control a set of clients also don't need all the processing and
- transport related information of clients sent to them, which is why
- they ought to subscribe to them with the \textit{MessageLevel}
- \textit{THIN\_CLIENT}.\\
- Server instances subscribed to, get the \textit{MessageLevel}
- \textit{SERVER} assigned to by each client by default. To change the
- type of \gls{osc} messages sent to them, the server's
- \textit{MessageLevel} can be set to a higher value (i.e.
- \textit{THIN\_CLIENT}).
+ server instance are clients to said server instance. An elevated
+ \textit{MessageLevel} of \textit{SERVER} (instead of \textit{CLIENT})
+ enables them to send messages to the server and have them evaluated.
+ Analogous to a server instance holding a \textit{MessageLevel} of
+ \textit{GUI\_SERVER} towards its clients, a client instance can hold
+ the same \textit{MessageLevel} towards a server instance to receive the
+ above mentioned performance heavy \gls{osc} messages.\\
+ How the setting up of message levels is achieved is further elaborated
+ upon in the following section.
\subsubsection{Message interface}
\label{subsubsec:message_interface}