- UUID-identifier with data - Data binary- or hex-encoded - Client <-> Host negotiating what to do => Task queue synchronization => Two seperate ways of communicating: One for neogtioating task queue stuff and one for data (Linked with UUID) ## Conn-Status ### Login *Request:* ```json { "protocol_id":, "node_id":, "transaction_uuid":, "specs": { "threads":, "clock":, "mem":, "net_speed_kib": } } ``` *Response:* ```json { "protocol_id":, "node_id":, "transaction_uuid":, "status":, } ``` ### Uptime Polling *Request/Response:* ```json { "protocol_id":, "node_id":, "transaction_uuid": } ``` ### Logout *Request:* ```json { "protocol_id":, "node_id":, "transaction_uuid":, } ``` *Response:* ```json { "protocol_id":, "node_id":, "transaction_uuid":, "status": } ``` >If the re-scheduling fails trigger the worker-node to give all HashMap-data to the head-node ## Pull ```json { "protocol_id":, "node_id":, "uuid":, "hashmap_id":, } ``` ## Response ```json { "protocol_id":, "node_id":, "uuid":, "status":, "uuid":, "hashmap_id": } ``` ## Push ```json { "protocol_id":, "node_id":, "uuid":, "uuid":, "hashmap_id":, "length_decomp": , "length_comp": , "comp_format":, "attributes":{go wild :3} "data": } ``` > **Possible Traffic-Sequences** > `PULL -> PUSH -> RESPONSE` > `PUSH -> RESPONSE` ---- ## JSON-Field Descriptions **Data-Related** `uuid`: sha-256 of decompressed data `hashmap_identifier`: identifier of associated HashMap `length_comp`: length of compressed data `length_decomp`: length of decompressed data `comp_format`: compression algorithm used `data`: compressed data `data_type`: either `permutation` or `state` (complete tree) `attributes`: Implementation specific *EXTRAWURST* **Control Flow** `protocol_id`: `data_push | data_pull | data_response | hash_push | hash_pull | hash_response` `node_id`:unique identifier of nodes. (Hostnames) `status`: error codes indicating success of transmission