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
