diff options
Diffstat (limited to 'thesis/thesis.tex')
-rw-r--r-- | thesis/thesis.tex | 53 |
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} |