From: Fredrik Tolf Date: Wed, 11 Jul 2007 17:29:39 +0000 (+0200) Subject: Begin documenting the data model. X-Git-Url: http://git.dolda2000.com/gitweb/?p=doldaconnect.git;a=commitdiff_plain;h=2466bbc82e1254fe239658273813257d847dd8db Begin documenting the data model. --- diff --git a/doc/protocol/protocol.tex b/doc/protocol/protocol.tex index 1b81a88..32eb539 100644 --- a/doc/protocol/protocol.tex +++ b/doc/protocol/protocol.tex @@ -184,7 +184,40 @@ matching command, it will provoke the same kind of error response as if a request with any other non-existing command were sent. Any remaining words on the line are considered arguments to the command. +\section{Data model} + +The main purpose of the protocol is to communicate the current state +of the daemon to the client and keep it synchronized. Therefore, in +order to understand the actions of the individual requests, an +understanding of the data structures that define the current state is +fundamental. The intent of this section is document those structures +in a top-down approach. + +\subsection{Filesharing network} +\label{fnet} +At the heart of the Dolda Connect daemon lies the abstraction of a +file sharing network, often abbreviated ``filenet'' or ``fnet''. To +the daemon, a filenet is a software module that speaks a certain +filesharing protocol, such as the Direct Connect protocol. A client +program will never interact directly with any filenet module, but it +is often important to know that there are several filenet +modules\footnote{Actually, at the time of this writing, that is false, + as only the Direct Connect protocol is implemented. However, the + protocol still requires it explicitly stated at several occasions, + and it is nonetheless important to keep in mind that there + \emph{could} be several filenet modules. Also, work is under way to + implement ADC, the ``official'' successor to the Direct Connect + protocol.}. The only detail visible to clients about a filenet is +its name. The currently implemented filenet modules are listed in +section \ref{fnets}, along with important information about each. + +\subsection{Filenet node} +\label{fnetnode} +The filenet node, often abbreviated ``fnetnode'', corresponds closely +to the Direct Connect concept of a ``hub''. + \section{Requests} + For each arriving request, the daemon checks so that the request passes a number of tests before carrying it out. First, it matches the name of the command against the list of known commands to see if the @@ -313,4 +346,7 @@ nonetheless. \input{commands} +\section{Filesharing networks} +\label{fnets} + \end{document}