sync: additional XEPs
[skm-ma-ws1314.git] / sec-xmpp.tex
index 1fadb2d..d939b38 100644 (file)
@@ -19,13 +19,27 @@ part is a string chosen by the user to distinguish those clients. Only the part
 the resource is only needed for routing between client and server.
 
 \subsubsection{Architecture}
 the resource is only needed for routing between client and server.
 
 \subsubsection{Architecture}
-\begin{wrapfigure}{r}{0.4\textwidth}
-%\begin{figure}[htop]
+\begin{wrapfigure}{r}{0.5\textwidth}
+  \tikzstyle{iconlabel}=[text width=3cm, align=center, font=\footnotesize]
+  \begin{tikzpicture}[node distance=0pt,scale=1.5,>=stealth,thick]
+    \def\nodelist{
+      juliet/{(-1,-1)}/XMPP client \code{juliet@example.net}/below/computer,
+      examplenet/{(-1,1)}/XMPP server \code{example.net}/above/server,
+      imexampleorg/{(1,1)}/XMPP server \code{im.example.org}/above/server,
+      romeo/{(1,-1)}/XMPP client \code{romeo@im.example.org}/below/computer%
+    }
+    \foreach \name/\pos/\text/\tpos/\icon in \nodelist {
+      \node (\name) at \pos { \includegraphics[width=1.2cm]{icon-\icon.pdf} };
+      \node[\tpos=of \name,iconlabel] (\name text) { \text };
+    }
+    \draw[<->,dashed] (juliet) -- node[anchor=east]{s2c} (examplenet);
+    \draw[<->] (examplenet) -- node[anchor=south]{s2s} (imexampleorg);
+    \draw[<->,dashed] (imexampleorg) -- node[anchor=west]{s2c} (romeo);
+  \end{tikzpicture}
   \centering
   \centering
-  \includegraphics[width=0.4\textwidth]{fig-xmpp-architecture-mock.jpg}
-  \caption{XMPP architecture}
+  \caption{XMPP architecture, showing server-to-server (s2s) and
+    server-to-client (s2c, dashed) connection types}
   \label{fig:xmpparch}
   \label{fig:xmpparch}
-%\end{figure}
 \end{wrapfigure}
 
 The original architecture underlying XMPP strongly leans on the established
 \end{wrapfigure}
 
 The original architecture underlying XMPP strongly leans on the established
@@ -67,8 +81,6 @@ other side then has the chance to send all outstanding stanzas and likewise
 closes its stream. If both streams are closed, the underlying TCP connection is
 terminated.
 
 closes its stream. If both streams are closed, the underlying TCP connection is
 terminated.
 
-\todo[Example stream]
-
 \subsubsection{Publish/Subscribe and Presence}
 
 Typically, a user wants to chat with a more or less fixed set of other users,
 \subsubsection{Publish/Subscribe and Presence}
 
 Typically, a user wants to chat with a more or less fixed set of other users,
This page took 0.022518 seconds and 4 git commands to generate.