55 lines
1.2 KiB
Markdown
55 lines
1.2 KiB
Markdown
|
- 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":<uuid>,
|
||
|
"hashmap_id":<hashmap_id>,
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Response
|
||
|
```json
|
||
|
{
|
||
|
"status":<OK|HASH_ERR|TIMEOUT_ERR>,
|
||
|
"uuid":<uuid>,
|
||
|
"hashmap_id":<hashmap_id>
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Push
|
||
|
```json
|
||
|
{
|
||
|
"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`
|
||
|
|
||
|
----
|
||
|
|
||
|
**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
|