diff options
Diffstat (limited to 'node/Packet.hpp')
| -rw-r--r-- | node/Packet.hpp | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/node/Packet.hpp b/node/Packet.hpp index 5572e235..14fac1bf 100644 --- a/node/Packet.hpp +++ b/node/Packet.hpp @@ -899,16 +899,17 @@ public: * Path record format: * <[1] flags> * <[1] metric from 0 (highest priority) to 255 (lowest priority)> + * <[2] length of extended path characteristics or 0 for none> + * <[...] extended path characteristics> * <[1] address type> * <[...] address> * * Path record flags: - * 0x01 - Blacklist this path, do not use - * 0x02 - Reliable path (no keepalives, etc. necessary) - * 0x04 - Trusted path (encryption and authentication optional) - * - * None of the above flags are implemented yet as of 1.0.4. They're - * reserved for future use. + * 0x01 - Forget this path if it is currently known + * 0x02 - Blacklist this path, do not use + * 0x04 - Reliable path (no NAT keepalives, etc. are necessary) + * 0x08 - Disable encryption (trust: privacy) + * 0x10 - Disable encryption and authentication (trust: ultimate) * * Address types and addresses are of the same format as the destination * address type and address in HELLO. @@ -916,9 +917,24 @@ public: * The receiver may, upon receiving a push, attempt to establish a * direct link to one or more of the indicated addresses. It is the * responsibility of the sender to limit which peers it pushes direct - * paths to to those with whom it has a trust relationship. + * paths to to those with whom it has a trust relationship. The receiver + * must obey any restrictions provided such as exclusivity or blacklists. + * OK responses to this message are optional. * - * OK/ERROR are not generated. + * Note that a direct path push does not imply that learned paths can't + * be used unless they are blacklisted explicitly or unless flag 0x01 + * is set. + * + * Only a subset of this functionality is currently implemented: basic + * path pushing and learning. Metrics, most flags, and OK responses are + * not yet implemented as of 1.0.4. + * + * OK response payload: + * <[2] 16-bit number of active direct paths we already have> + * <[2] 16-bit number of paths in push that we don't already have> + * <[2] 16-bit number of new paths we are trying (or will try)> + * + * ERROR is presently not sent. */ VERB_PUSH_DIRECT_PATHS = 16 }; |
