summaryrefslogtreecommitdiffstats
path: root/doc/afb-daemon-vocabulary.html
blob: 096f5076f54a8213049f07b247e239e212e502c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<html>
<head>
  <link rel="stylesheet" type="text/css" href="doc.css">
  <meta charset="UTF-8">
</head>
<body>
<a name="Vocabulary.for.AFB-DAEMON"></a>
<h1>Vocabulary for AFB-DAEMON</h1>

<pre><code>version: 1
Date:    26 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="#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>
  <li><a href="#Service">Service</a></li>
  <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="Event"></a>
<h2>Event</h2>

<p>Message with data propagated from the services to the client and not expecting
any reply.</p>

<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 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>

<p>It stand for Universal Unic IDentifier.</p>

<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>