From 716943c2a760d6676c5d4cfc8cbd4d5a7960c0c0 Mon Sep 17 00:00:00 2001 From: David Runge Date: Sun, 18 Jun 2017 23:53:19 +0200 Subject: thesis/thesis.tex: Rewrite of Message levels subsubsection. --- thesis/thesis.tex | 53 +++++++++++++++++++++++++++++++---------------------- 1 file 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} -- cgit v1.2.3-54-g00ecf