-
Notifications
You must be signed in to change notification settings - Fork 3.8k
p2p liveness checking #395
Comments
Let's also add fields to the handshake message to make it effectively a "ping" as well. Note that each side will independently send a handshake message at connection start time. To make latency measurement work, we'll have to make the peer answer a handshake with a "pong" message. |
Debugging is ongoing. |
Packets are transmitted and received and processed and... something is slightly tangled in the processing of each peer's timestamps, so the numbers make no sense. I just have to work through it. |
Processing is working. Currently attempting to explain unusually high measured latency. |
Modifying |
That's interesting. Can you remind me the branch you are using for this work? |
The branch name is p2p-liveness-checking-395, but I haven't pushed it yet. It still contains C-isms that have to be eradicated. The relevant method is small enough though.
This is a substitute for |
Rebased and reconstructed to mesh well with branch |
closing, feature merged into master |
Relates to #291. Add a new pair of messages to the net plugin that carry the current time as a payload. These messages could be used for liveness checking in the case of peers that are non-producing full nodes. The two messages, Ping and Pong, may work for detecting clock skew but I'm not certain that will be particularly accurate when dealing with varying levels of network latency introduced by the use asynch messaging. Perhaps sending a second round of messages that carry the result of timing the send of the first message.
The text was updated successfully, but these errors were encountered: