Deployment Platform/Sneakernet/Packets format: Difference between revisions
Appearance
Created page with "Packets' structure: * '''PUSH''' packet: :* {{Code|type}}: {{Code|push}} :* {{Code|src}}: sender's identity to push from :* {{Code|[dst]}}: receiver's identity to push to, op..." |
No edit summary |
||
| Line 1: | Line 1: | ||
Packets | == Packets format == | ||
* ''' | Packets are tarball files with {{Code|.packet}} suffix. | ||
:* {{Code| | |||
On logic level, every packet consists of: | |||
* one header, a dictionary of key-value pairs; | |||
* records, a dictionary of key-value pairs and optional data depending on record type. | |||
== Header == | |||
Header is being stored in JSON notation in {{Code|/header}} file in packet tarball. | |||
* {{Code|src}}, sender's GUID | |||
* {{Code|dst}}, optional destination GUID | |||
* {{Code|filename}}, suggested file name for packet file, it is assumed to be unique | |||
== Record types == | |||
* '''sn_push''': | |||
:* {{Code|cmd}}: {{Code|sn_push}} | |||
:* {{Code|src}}: sender's identity to push from | :* {{Code|src}}: sender's identity to push from | ||
:* {{Code|[dst]}}: receiver's identity to push to, optional for packets from master | :* {{Code|[dst]}}: receiver's identity to push to, optional for packets from master | ||
Revision as of 03:01, 27 July 2012
Packets format
Packets are tarball files with .packet suffix.
On logic level, every packet consists of:
- one header, a dictionary of key-value pairs;
- records, a dictionary of key-value pairs and optional data depending on record type.
Header
Header is being stored in JSON notation in /header file in packet tarball.
src, sender's GUIDdst, optional destination GUIDfilename, suggested file name for packet file, it is assumed to be unique
Record types
- sn_push:
cmd:sn_pushsrc: sender's identity to push from[dst]: receiver's identity to push to, optional for packets from mastersequence: Sequence associated with packet's payload
- ACK packet:
type:acksrc: master's identitydst: receiver's identity ack is intended forpush_sequence: original PUSH packet's sequencepull_sequence: Sequence after merging original PUSH packet
- PULL packet:
type:pullsrc: sender's identity to pull todst: receiver's identity to pull fromsequence: Sequence to pull for