Work in progress on refactoring root-topology into World and adding in-band updates.

This commit is contained in:
Adam Ierymenko 2015-10-12 18:25:29 -07:00
parent 70fe7dd1fd
commit 1b1945c63e
21 changed files with 317 additions and 575 deletions

View file

@ -564,6 +564,8 @@ public:
* <[2] software revision (of responder)>
* <[1] destination address type (for this OK, not copied from HELLO)>
* [<[...] destination address>]
* <[8] 64-bit world ID of current world>
* <[8] 64-bit timestamp of current world>
*
* ERROR has no payload.
*/
@ -911,7 +913,7 @@ public:
*
* Path record flags:
* 0x01 - Forget this path if it is currently known
* 0x02 - Blacklist this path, do not use
* 0x02 - (Unused)
* 0x04 - Disable encryption (trust: privacy)
* 0x08 - Disable encryption and authentication (trust: ultimate)
*
@ -1094,7 +1096,36 @@ public:
*
* ERROR has no payload.
*/
VERB_REQUEST_PROOF_OF_WORK = 19
VERB_REQUEST_PROOF_OF_WORK = 19,
/**
* Generic binary object access:
* <[8] 64-bit request ID>
* <[4] 32-bit index in blob to retrieve>
* <[2] 16-bit max length of block to retrieve>
* <[2] 16-bit length of blob identifier>
* <[...] blob identifier>
*
* This is used as a generic remote object retrieval mechanism. It returns
* OK if the object is accessible, INVALID_REQUEST if the index is beyond
* the size of the blob or another element is invalid, and OBJ_NOT_FOUND
* if no blob with the given identifier is available.
*
* Blob identifiers follow a de facto path-like schema, with the following
* names reserved:
* world - Current world definition (see World.hpp)
* updates.d/<any> - Software updates (not used yet, but reserved)
*
* OK payload:
* <[8] 64-bit request ID>
* <[4] 32-bit total length of blob>
* <[4] 32-bit index of this data in blob>
* <[...] data>
*
* ERROR payload:
* <[8] 64-bit request ID>
*/
VERB_GET_OBJECT = 20
};
/**