afb-hreq.c: fix etag size (fixes stack smashing detected by stack protector)
[src/app-framework-binder.git] / doc / afb-daemon-vocabulary.html
index b398aa3..fadd1de 100644 (file)
@@ -8,16 +8,15 @@
 <h1>Vocabulary for AFB-DAEMON</h1>
 
 <pre><code>version: 1
-Date:    24 mai 2016
+Date:    27 mai 2016
 Author:  José Bollo
 </code></pre>
 
 <p><ul>
  <li><a href="#Vocabulary.for.AFB-DAEMON">Vocabulary for AFB-DAEMON</a>
  <ul>
-  <li><a href="#Authentification">Authentification</a></li>
-  <li><a href="#Context">Context</a></li>
-  <li><a href="#Level.of.authorisation..LOA.">Level of authorisation (LOA)</a></li>
+  <li><a href="#Event">Event</a></li>
+  <li><a href="#Level.of.assurance..LOA.">Level of assurance (LOA)</a></li>
   <li><a href="#Plugin">Plugin</a></li>
   <li><a href="#Request">Request</a></li>
   <li><a href="#Reply.Response">Reply/Response</a></li>
@@ -25,41 +24,83 @@ Author:  José Bollo
   <li><a href="#Session">Session</a></li>
   <li><a href="#Token">Token</a></li>
   <li><a href="#UUID">UUID</a></li>
+  <li><a href="#x-afb-reqid">x-afb-reqid</a></li>
   <li><a href="#x-afb-token">x-afb-token</a></li>
   <li><a href="#x-afb-uuid">x-afb-uuid</a></li>
  </ul>
  </li>
 </ul></p>
 
-<a name="Authentification"></a>
-<h2>Authentification</h2>
+<a name="Event"></a>
+<h2>Event</h2>
 
-<a name="Context"></a>
-<h2>Context</h2>
+<p>Message with data propagated from the services to the client and not expecting
+any reply.</p>
 
-<a name="Level.of.authorisation..LOA."></a>
-<h2>Level of authorisation (LOA)</h2>
+<p>The current implementation allows to widely broadcast events to all clients.</p>
+
+<a name="Level.of.assurance..LOA."></a>
+<h2>Level of assurance (LOA)</h2>
+
+<p>This level that can be from 0 to 3 represent the level of
+assurance that the services can expect from the session.</p>
+
+<p>The exact definition of the meaning of this levels and of
+how to use it remains to be achived.</p>
 
 <a name="Plugin"></a>
 <h2>Plugin</h2>
 
+<p>A shared library object intended to be plug to an afb-daemon instance
+to implement an API.</p>
+
 <a name="Request"></a>
 <h2>Request</h2>
 
+<p>A request is an invocation by a client to a method of a plugin using a message
+transfered through some protocol: HTTP, WebSocket, DBUS&hellip; served by afb-daemon</p>
+
 <a name="Reply.Response"></a>
 <h2>Reply/Response</h2>
 
+<p>This is a message sent to client as the result of the request.</p>
+
 <a name="Service"></a>
 <h2>Service</h2>
 
+<p>Service are made of plugins runnning by their side on their binder.
+It can serve many client. Each one being attached to one session.</p>
+
+<p>The framework establishes the connection between the services and
+the clients. Using DBus currently.</p>
+
 <a name="Session"></a>
 <h2>Session</h2>
 
-<p>A session records data as</p>
+<p>A session is meant to be the unic context of an instance of client,
+identifying that instance across requests.</p>
+
+<p>Each session has an identifier. Session identifier generated by afb-daemon are UUIDs.</p>
+
+<p>Internally, afb-daemon offers a mechanism to attach data to sessions.
+When the session is closed or disappears, the data attached to that session
+are freed.</p>
 
 <a name="Token"></a>
 <h2>Token</h2>
 
+<p>The token is an identifier that the the client must give to be authentificated.</p>
+
+<p>At start, afb-daemon get an initial token. This initial token must be presented
+incoming client to be authentificated.</p>
+
+<p>A token is valid only for a period.</p>
+
+<p>The token must be renewed periodically. When the token is renewed, afb-daemon
+sends the new token to the client.</p>
+
+<p>Tokens generated by afb-daemon are UUIDs.</p>
+
 <a name="UUID"></a>
 <h2>UUID</h2>
 
@@ -68,10 +109,23 @@ Author:  José Bollo
 <p>Its is designed to create identifier in a way that avoid has much as possible conflicts.
 It means that if two differents instance create a UUID, the probability that they create the same UUID is very low, near to zero.</p>
 
+<a name="x-afb-reqid"></a>
+<h2>x-afb-reqid</h2>
+
+<p>Argument name that can be used with HTTP request.
+When this argument is given, it is automatically added to the &ldquo;request&rdquo; object of the
+answer.</p>
+
 <a name="x-afb-token"></a>
 <h2>x-afb-token</h2>
 
+<p>Argument name for giving the token without ambiguity.
+You can also use the name <strong>token</strong> but it may conflicts with other arguments.</p>
+
 <a name="x-afb-uuid"></a>
 <h2>x-afb-uuid</h2>
+
+<p>Argument name for giving explicitely the session identifier without ambiguity.
+You can also use the name <strong>uuid</strong> but it may conflicts with other arguments.</p>
 </body>
 </html>