|
|
|
@ -237,6 +237,8 @@ def keepChannels(net, listinfo, mean, sigrelay, relay):
|
|
|
|
|
debug(f"keepChannels() slots_used:{chan_slots_used}")
|
|
|
|
|
# max_chans = (chanlimit * num_instances) - chan_slots_used
|
|
|
|
|
max_chans = getSumChanlimit(net) - chan_slots_used
|
|
|
|
|
if max_chans < 0:
|
|
|
|
|
max_chans = 0
|
|
|
|
|
debug(f"keepChannels() max_chans:{max_chans}")
|
|
|
|
|
if coverAll:
|
|
|
|
|
# needed = relay - len(getActiveRelays(net))
|
|
|
|
@ -259,7 +261,7 @@ def keepChannels(net, listinfo, mean, sigrelay, relay):
|
|
|
|
|
# newNums = []
|
|
|
|
|
siglist = [i[0] for i in listinfo if int(i[1]) > mean]
|
|
|
|
|
chosen = sorted(siglist, reverse=True, key=lambda x: x[1])[:max_chans]
|
|
|
|
|
debug(f"keepChannels() {net}: joining {len(chosen)}/{len(flist)} channels")
|
|
|
|
|
debug(f"keepChannels() {net}: joining {len(chosen)}/{len(siglist)} channels")
|
|
|
|
|
trace(f"keepChannels() {net}: joining:{chosen}")
|
|
|
|
|
populateChans(net, chosen)
|
|
|
|
|
notifyJoin(net)
|
|
|
|
@ -360,6 +362,10 @@ def _initialList(net, num, listinfo):
|
|
|
|
|
sigrelay = ceil(siglength / avg_chanlimit)
|
|
|
|
|
relay = ceil(listlength / avg_chanlimit)
|
|
|
|
|
|
|
|
|
|
cur_relays = len(getActiveRelays(net))
|
|
|
|
|
sig_relays_missing = sigrelay - cur_relays
|
|
|
|
|
all_relays_missing = relay - cur_relays
|
|
|
|
|
|
|
|
|
|
abase = "analytics.list.%s" % net
|
|
|
|
|
main.g.delete(abase)
|
|
|
|
|
p = main.g.pipeline()
|
|
|
|
@ -377,6 +383,8 @@ def _initialList(net, num, listinfo):
|
|
|
|
|
p.hset(abase, "relays_for_all_chans", relay)
|
|
|
|
|
p.hset(abase, "relays_for_big_chans", sigrelay)
|
|
|
|
|
p.hset(abase, "relays_for_small_chans", ceil(insiglength / avg_chanlimit))
|
|
|
|
|
p.hset(abase, "sig_relays_missing", sig_relays_missing)
|
|
|
|
|
p.hset(abase, "all_relays_missing", all_relays_missing)
|
|
|
|
|
debug(
|
|
|
|
|
(
|
|
|
|
|
f"_initialList() net:{net} num:{num} listlength:{listlength} "
|
|
|
|
|