Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
acme:legacy [2015/04/13 10:53]
bgolaszewski
acme:legacy [2015/04/13 10:56] (current)
bgolaszewski
Line 166: Line 166:
  
 ===== Data exchange protocol ===== ===== Data exchange protocol =====
- 
-The protocol used now is not the final version. During the implementation several issues have been found and it will be redesigned. That's why it's not described here in detail. 
  
 For information on the websocket protocol please refer to [[https://​tools.ietf.org/​html/​rfc6455|RFC]]. ​ For information on the websocket protocol please refer to [[https://​tools.ietf.org/​html/​rfc6455|RFC]]. ​
Line 179: Line 177:
   * server sends a binary frame every decisecond, each frame contains hundred measurements for each probe, each measurement is 4 bytes long (bytes in network order), the measurements are in the same order as the probes described in the JSON message,   * server sends a binary frame every decisecond, each frame contains hundred measurements for each probe, each measurement is 4 bytes long (bytes in network order), the measurements are in the same order as the probes described in the JSON message,
   * at any moment the client can send a power-switch frame containing two bytes the first one indicating the index of the probe and the second containing the desired power state (0 or 1).   * at any moment the client can send a power-switch frame containing two bytes the first one indicating the index of the probe and the second containing the desired power state (0 or 1).
- 
-As can be seen this protocol is not very flexible (adding extensions is impossible) and needs a rework. 
  
 ==== JSON probe description ==== ==== JSON probe description ====
Line 217: Line 213:
     ​     ​
 The main difference from the config file structure is that we don't split the probes among capes. This information is irrelevant for the client. The main difference from the config file structure is that we don't split the probes among capes. This information is irrelevant for the client.
-===== Known bugs and limitations ===== 
- 
-These are some of the known bugs, limitations and future features: 
  
-  ​as mentioned before - the data exchange protocol has to be reworked, +**NOTE:** the server ​only supports ​single client connection at time.
-  ​the daemon architecture has to be redesigned,​ +
-  ​* the daemon uses a pipe & fork to split the logic into two processes, maybe we should use only one process with two threads, and use some lockless ring buffer for the data, +
-  * the C++ UI reimplement the protocol from the C daemon - the protocol handling should be put in separate library against which we'll link the C daemon, the C++ UI and future LCD and Ncurses interfaces,​ +
-  * for now we don't support multiple clients - this is crucial functionality,​ +
-  * the UIs should be redesigned, we should make them more eye-candy.+
Recent changes RSS feed Creative Commons License Donate Minima Template by Wikidesign Driven by DokuWiki