summaryrefslogtreecommitdiff
path: root/node/Packet.hpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-12 18:25:29 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-10-12 18:25:29 -0700
commit1b1945c63ee1ba9567b8fc5d5ed2b8946fec5f12 (patch)
tree444090c23d878a813ebc42c2716c7396186df0fd /node/Packet.hpp
parent70fe7dd1fdfd9834e2127bd7fc4af4f53adaff36 (diff)
downloadinfinitytier-1b1945c63ee1ba9567b8fc5d5ed2b8946fec5f12.tar.gz
infinitytier-1b1945c63ee1ba9567b8fc5d5ed2b8946fec5f12.zip
Work in progress on refactoring root-topology into World and adding in-band updates.
Diffstat (limited to 'node/Packet.hpp')
-rw-r--r--node/Packet.hpp35
1 files changed, 33 insertions, 2 deletions
diff --git a/node/Packet.hpp b/node/Packet.hpp
index 6c178e66..958d0f3e 100644
--- a/node/Packet.hpp
+++ b/node/Packet.hpp
@@ -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
};
/**