summaryrefslogtreecommitdiff
path: root/comm/doc.main
diff options
context:
space:
mode:
authorchatty1993-11-29 12:27:12 +0000
committerchatty1993-11-29 12:27:12 +0000
commitad474ebe5ac3ff545af41a96786bbf4829aeec8d (patch)
treedfe190154cd135939eced4032a377efd589842c3 /comm/doc.main
parent6c94d966c65c67090ea04d5798eb4278332facee (diff)
downloadivy-league-ad474ebe5ac3ff545af41a96786bbf4829aeec8d.zip
ivy-league-ad474ebe5ac3ff545af41a96786bbf4829aeec8d.tar.gz
ivy-league-ad474ebe5ac3ff545af41a96786bbf4829aeec8d.tar.bz2
ivy-league-ad474ebe5ac3ff545af41a96786bbf4829aeec8d.tar.xz
Minor patches
Diffstat (limited to 'comm/doc.main')
-rw-r--r--comm/doc.main61
1 files changed, 47 insertions, 14 deletions
diff --git a/comm/doc.main b/comm/doc.main
index 44abcd4..9a50c97 100644
--- a/comm/doc.main
+++ b/comm/doc.main
@@ -12,9 +12,19 @@
% $CurLog$
%
+\documentstyle[11pt,mydoc,twoside]{doc}
+
+\pagestyle{ENTETE}
+\makeindex
+
\namedoc{Unix Channel}
\def\uch{{\sc Uch}}
+\begin{document}
+\maketitle
+\cleardoublepage
+\tableofcontents
+
\chapter{Introduction}
%--------------------------------
@@ -95,10 +105,6 @@ allocated dynamically (with \fun{operator new}), it is automatically destroyed.
\end{enumerate}
-\chapter{Error management}
-
-#iclass UchError
-
\chapter{General io}
\label{General io}
@@ -108,8 +114,8 @@ Unix input/output is byte oriented: byte buffers can be read and written in file
with the system calls \fun{read} and \fun{write}.
\uch\ implements message oriented input/output,
although byte io can be used if needed.
-The class \typ{Message} is the abstract base class for the messages
-to be exchanged between applications. A \typ{Message} only needs to
+The class \typ{UchMessage} is the abstract base class for the messages
+to be exchanged between applications. A \typ{UchMessage} only needs to
know how to convert itself to and from a set of bytes in a \typ{MsgBuffer}.
The class \typ{MsgBuffer} is used throughout \uch\ to buffer input and output.
Buffering output can dramatically improve performances (especially if the
@@ -135,11 +141,34 @@ there is no way to establish a communication between two processes.
However they can be used for traditional input/output to terminals and files.
This is illustrated in section \ref{General io example}.
-#class UchMessage
-#class UchMsgBuffer
-#class UchFilDes
-#class UchChannel
-#class UchMultiplexer
+\section{Messages}
+The basic entities used to transfer information are messages and buffers. Low level
+mechanisms ensure the transmission of data and store it in a buffer. That raw data
+is then extracted from the buffer, and used to initialize the fields of a message.
+The emission of messages works in a similar way: the contents of a message are
+copied to a buffer before being sent.
+
+\subsection{Messages}
+#iclass UchMessage
+
+\subsection{Buffers}
+#iclass UchMsgBuffer
+
+\section{Files and channels}
+#iclass UchFilDes
+#iclass UchChannel
+
+\section{Multiplexing channels}
+#iclass UchBaseMultiplexer
+#iclass UchMultiplexer
+
+\subsection{Adding timers}
+#iclass UchBaseTimeOut
+#iclass UchTimeOut
+
+\subsection{Safe signal handling}
+#iclass UchBaseSignalHandler
+#iclass UchSignalHandler
\section{Example}
\label{General io example}.
@@ -193,7 +222,7 @@ and not bytes.
This is the class that will be used most of the time to build distributed applications,
as illustrated in section \ref{Basics example}
-\fig{socketclasses}{Hierarchy of classes}
+\fig{FIGURES/socketclasses}{Hierarchy of classes}
Figure \ref{fig:socketclasses} shows the derivation tree for the classes described
in this chapter. All derivations are public. This means that the member functions
@@ -228,7 +257,7 @@ We call these processes the clients of the server:
a \typ{UchClient} represents a connected client in the server,
while a \typ{Service} represents the server in a client.
-\fig{clientserver}{Objects in a client-server system}
+\fig{FIGURES/clientserver}{Objects in a client-server system}
The class \typ{Service} is useful only if your application follows an
event/request protocol.
@@ -249,7 +278,7 @@ with its server (implemented by an object of class \typ{UchClient} in the server
The class \typ{UchService} described here can be used when the protocol between the
server and its clients is of the event/request type.
-\fig{evreq}{Event / request protocol model.}
+\fig{FIGURES/evreq}{Event / request protocol model.}
In the event/request model (see figure \ref{fig:evreq}),
a client communicates with a server by sending requests.
@@ -359,6 +388,10 @@ The different commands are the following:
[to be done]
+\chapter{Error management}
+#iclass UchError
+
+
\newpage
\appendix