doc:rfc_kadaver
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
doc:rfc_kadaver [2014/11/09 17:22] – created admin | doc:rfc_kadaver [2014/11/27 19:05] (current) – admin | ||
---|---|---|---|
Line 3: | Line 3: | ||
|OOBD Team |S. Koehler | | |OOBD Team |S. Koehler | | ||
- | |Request for Comments:6 | | | + | |Request for Comments:17 | | |
|Obsoletes: - | | | |Obsoletes: - | | | ||
|Category: Draft Standard | Nov 2014 | | |Category: Draft Standard | Nov 2014 | | ||
Line 22: | Line 22: | ||
===== Introduction ===== | ===== Introduction ===== | ||
+ | The Name Kadaver comes from the german wording " | ||
==== Concept ==== | ==== Concept ==== | ||
+ | The connection from the App (called " | ||
+ | The slave only provides the connection, so it shall be as simple as possible to be easily used by novice. | ||
+ | |||
+ | |||
+ | ==== Data model ==== | ||
+ | |||
+ | Both master and slave sending JSON messages to the server. The messages contain two properties: | ||
+ | |||
+ | * msg (Master) / receive (Slave): This is the text send to/from the dongle, coded in base64 (String) | ||
+ | * channel: The name of the channel with master and slave are both using (String) | ||
==== Initialization ==== | ==== Initialization ==== | ||
+ | |||
+ | The communication is initiated by the slave. The slave defines a name for the channel to use. This name can be random or e.g. the name of the Dongle, but it need to be unique for the time of the communication. | ||
+ | |||
+ | The slave then sends the above mentioned message to the server with this new channel name in '' | ||
+ | |||
+ | |||
+ | Then the master needs to be informed about the channel name. | ||
+ | |||
+ | When then the master send it first message with that channel in '' | ||
+ | * the server | ||
+ | * the server then forwards the JSON message to the other clients with the same channel name (the slave) | ||
+ | |||
+ | ==== Communication ==== | ||
+ | |||
+ | After initialize the connection path, it's simple: Every message, which comes from one side is forwarded to the other and vice versa, identified by the channel name. | ||
==== UI Requirements ==== | ==== UI Requirements ==== | ||
+ | |||
+ | |||
+ | As this connectivity might be implemented on different platforms, the following requirements shall be seen to be mandatory to have a common look & feel and functionality | ||
=== Master (App Side) === | === Master (App Side) === | ||
- | === Slave (Dongle Side) === | ||
+ | - the Websocket Server URL shall be configurable and saveable in the settings | ||
+ | - The user shall decide when doing the connection if he wants to do a local or remote connection | ||
+ | - When doing the remote connection, he shall be able to enter the channel (which comes, as said, from the slave) | ||
- | ==== Errors ==== | ||
+ | === Slave (Dongle Side) === | ||
+ | < | ||
+ | digraph finite_state_machine { | ||
+ | node [shape = box]; | ||
+ | n3 [ label = " | ||
+ | n4 [ label = " | ||
+ | n5 [ label = " | ||
+ | n6 [ label = " | ||
+ | n7 [ label = " | ||
+ | n9 [ label = " | ||
+ | n11 [ label = " | ||
+ | n12 [ label = " | ||
+ | n13 [ label = " | ||
+ | n15 [ label = " | ||
+ | n16 [ label = " | ||
- | ==== General Commands | + | n3 -> n4 [ label = " |
+ | n3 -> n5 [ label = " | ||
+ | n4 -> n3 [ label = " | ||
+ | n4 -> n16 [ label = " | ||
+ | |||
+ | n5 -> n6 [ label = " | ||
+ | n5 -> n7 [ label = " | ||
+ | n6 -> n5 [ label = " | ||
+ | n6 -> n16 [ label = " | ||
+ | n7 -> n9 [ label = " | ||
+ | | ||
+ | n9 -> n7 [ label = " | ||
+ | n9 -> n16 [ label = " | ||
+ | |||
+ | n7 -> n11 [ label = "> | ||
+ | n7 -> n12 [ label = " | ||
+ | n11 -> n12 [ label = " | ||
+ | n11 -> n16 [ label = " | ||
+ | n12 -> n13 [ label = " | ||
+ | n12 -> n15 [ label = " | ||
+ | n13 -> n12 [ label = " | ||
+ | n13 -> n16 [ label = " | ||
+ | | ||
+ | |||
+ | | ||
+ | n20 [ label = "User Settings" | ||
+ | n21 [ label = " | ||
+ | n22 [ label = " | ||
+ | n20 -> n21 ; n20 -> n22 ; | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | ==== Errors ==== | ||
+ | FIXME to be defined | ||
===== Implementation Details ===== | ===== Implementation Details ===== | ||
Line 117: | Line 195: | ||
To join (or quit) the list goto [[https:// | To join (or quit) the list goto [[https:// | ||
- | |||
- | |||
doc/rfc_kadaver.1415550157.txt.gz · Last modified: 2014/11/09 17:22 by admin