This PR adds the option for WalkCandidates to stay alive for a certain community (see WalkCandidate.set_keepalive).
Once the WalkCandidate determines it has timed out for its respective category (see WalkCandidate.get_category), send a light-weight introduction request, without sync or advice so we are not introduced to new peers (see Community.send_keep_alive). If this does not get answered with an introduction response within the next timeout cycle, the WalkCandidate is timed out after all.
For developers
If your community wants to keep a certain WalkCandidate as long as possible, call candidate.set_keepalive(community) to keep it until it goes offline. If you are no longer interested, call candidate.set_keepalive(None).
This PR adds the option for WalkCandidates to stay alive for a certain community (see
WalkCandidate.set_keepalive
).Once the WalkCandidate determines it has timed out for its respective category (see
WalkCandidate.get_category
), send a light-weight introduction request, without sync or advice so we are not introduced to new peers (seeCommunity.send_keep_alive
). If this does not get answered with an introduction response within the next timeout cycle, the WalkCandidate is timed out after all.For developers
If your community wants to keep a certain WalkCandidate as long as possible, call
candidate.set_keepalive(community)
to keep it until it goes offline. If you are no longer interested, callcandidate.set_keepalive(None)
.