Implement first pass on rapid dead path detection, and increment version to 1.1.3 (dev)

This commit is contained in:
Adam Ierymenko 2016-01-05 16:41:54 -08:00
parent cba739fd6b
commit d8143a5e18
11 changed files with 144 additions and 112 deletions

View file

@ -655,32 +655,11 @@ public:
/**
* ECHO request (a.k.a. ping):
* <[1] 8-bit purpose of echo request>
* <[...] additional arbitrary payload>
* <[...] arbitrary payload>
*
* This generates OK with a copy of the transmitted payload. No ERROR
* is generated. Response to ECHO requests is optional and ECHO may be
* ignored if a node detects a possible flood.
*
* An empty payload is permitted. This is used in some versions for
* path checking and validation. If a payload is present it must
* follow the above format, though the recipient does not have to check
* this. It can simply echo it back.
*
* Echo purpose codes:
* 0x00 - User ECHO request
* 0x01 - Dead path detection
*
* Support for fragmented echo packets is optional and their use is not
* recommended.
*
* Dead path detection is performed by sending ECHOs with the same random
* payload to the best (or every) direct path and then once indirectly
* (such as via a root server). When an OK is received echoing back this
* test payload, all paths that have not yet received this OK are cancelled
* or re-tested. This can be done after a short period of inactivity to
* detect and automatically cancel dead paths without requiring any
* special logic (other than support for ECHO) at the remote end.
*/
VERB_ECHO = 8,