From 192abf932e959cb80369a10efad99aca360fa013 Mon Sep 17 00:00:00 2001 From: joecaswell <1626320+joecaswell@users.noreply.github.com> Date: Tue, 7 Jun 2022 18:45:15 -0700 Subject: [PATCH] delete bad keys when encountered --- src/peerbook/libp2p_peerbook.erl | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/peerbook/libp2p_peerbook.erl b/src/peerbook/libp2p_peerbook.erl index 1aadecde..a66258c5 100644 --- a/src/peerbook/libp2p_peerbook.erl +++ b/src/peerbook/libp2p_peerbook.erl @@ -224,16 +224,16 @@ iterator_move_filtered(KeyFun, Iterator, Action) -> -spec random(peerbook(), [libp2p_crypto:pubkey_bin()], fun((libp2p_peer:peer()) -> boolean()), non_neg_integer()) -> {libp2p_crypto:pubkey_bin(), libp2p_peer:peer()} | false. random(Peerbook=#peerbook{tid=TID, store=Store, stale_time=StaleTime}, Exclude, Pred, Tries) -> {ok, Iterator} = rocksdb:iterator(Store, []), - KeyFilterFun = fun(K) -> <<_:(33*8)>> = K end, - %% Alternately, we might delete keys we don't like: - %KeyFilterFun = fun(<<_:(33*8)>>) -> true; - % (K) when is_binary(K) -> - % delete_peer(rev(K), Peerbook), - % false; - % (K) -> - % rocksdb:delete(Store, K, []), - % false - % end, + KeyFilterFun = fun(<<_:(33*8)>>) -> true; + (K) when is_binary(K) -> + delete_peer(rev(K), Peerbook), + false; + (K) -> + rocksdb:delete(Store, K, []), + false + end, + %% Alternately, we might filter without deleting bad keys: + % KeyFilterFun = fun(K) -> <<_:(33*8)>> = K end, case iterator_move_filtered(KeyFilterFun, Iterator, first) of {ok, FirstAddr = <>, FirstPeer} -> {ok, <>, _} = iterator_move_filtered(KeyFilterFun, Iterator, last),