You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The -B/-b option (permanently cached branches) doesn't work with -P (prune mode).
The reason is that both options manipulate the "EndPointCache" using assumptions that don't hold when both options are enabled:
-B/-b is simply implemented by adding elements to the cache with the "permanent" flag set.
-P assumes that the first (and only) entry in the cache is the active branch and 'prunes' messages from other branches, and relies on the cache entry timing out if it's to ever use another branch.
Put another way, it doesn't expect any permanent cache entries, so if the first entry is permanent, it's the only branch that will ever be forwarded to/from.
see "if(Args.Prune && rcv_sender != trunk && cache_EPs.size() && rcv_sender != cache_EPs[0])" in MiniPlex.cpp
Fix Needed:
Don't store permanent branches in the EndPointCache. Keep a separate collection of permanent branches instead.
When forwarding packets, use a superset of the cache and permanent branches.
The text was updated successfully, but these errors were encountered:
The -B/-b option (permanently cached branches) doesn't work with -P (prune mode).
The text was updated successfully, but these errors were encountered: