1.4 KiB
1.4 KiB
- 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
{
"protocol_id":<protocol_id>,
"uuid":<uuid>,
"hashmap_id":<hashmap_id>,
}
Response
{
"protocol_id":<protocol_id>,
"status":<OK|HASH_ERR|TIMEOUT_ERR>,
"uuid":<uuid>,
"hashmap_id":<hashmap_id>
}
Push
{
"protocol_id":<protocol_id>,
"uuid":<uuid>,
"hashmap_id":<hashmap_id>,
"length_decomp": <length_decomp>,
"length_comp": <length_comp>,
"comp_format":<comp_format>,
"attributes":{go wild :3}
"data":<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
status
: error codes indicating success of transmission