- 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) # Data Pull/Push ## Pull ```json { "uuid":, "hashmap_id":, } ``` ## Response ```json { "status":, "uuid":, "hashmap_id": } ``` ## Push ```json { "uuid":, "hashmap_id":, "length_decomp": , "length_comp": , "comp_format":, "attributes":{go wild :3} "data": } ``` > **Possible Traffic-Sequences** > `PULL -> PUSH -> RESPONSE` > `PUSH -> RESPONSE` ---- **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** `status`: error codes indicating success of transmission