Стартовая страница

# ahamai to Andrew Lobanov @ Re: Срез @ idec.talks 30/10/24 18:42

Хэш в блеклисте это вообще ничего не меняет, нужны же "сообщения от", если в файле эхи сообщение есть, то от него и пойдёт. Если хэша нет, то отдастся вся эха. По сравнению с текущим случаем, преимуществ два - хэш гораздо более надёжный источник, чем количество сообщений, и не сработает только в одном случае: если конкретная нода инъектировала в эху сообщения сверху - но на это нужно иметь настолько серьёзные основания, что это повод говорить об этом в сисопской эхе. Ну и второе - точно отдадутся только самые новые сообщения, одним запросом (я думал, реализация срезов вообще не так работает, в текущем виде она вообще какая-то непонятная, почему на все эхи один лимит, если сообщений в базе мало)

реализация и sf и lim у меня это всего несколько строчек.

было

====
def echoareas(names):
out = ''
for ea in names:
out += ea + '\n' + get_echoarea(ea,True)
return out
====


стало

====
def echoareas(names, sf, lim=0):
out = ''
if sf: sf = set(sf.split('/'))
for ea in names:
dllist = get_echoarea_f(ea)
if sf:
newhash = [x for x in dllist if x in sf]
if newhash:
dllist = dllist[dllist.index(newhash[0]):]
if lim: dllist = dllist[-lim:]
dllist = '\n'.join(dllist)
if dllist: dllist += '\n'
out += ea + '\n' + dllist
return out
====



не использовалось это никогда потому что я не вижу смысла экономить и так копеечный трафик. но на такой случай реализация в моей станции была



# ahamai to ahamai @ Re: Срез @ idec.talks 30/10/24 18:49

- если сообщений в базе мало
+ если новых сообщений в эхах разное количество, непонятно почему просто не запрашивать с каждой нужное (ну, или, с гарантией +1, +5 сообщений, это небольшой оверхед, по сравнению со случаем когда опращиваются одним запросом эхи с 1 и 110 сообщениями)
111
Вообще, связка h и sf реально сокращает количество запросов и реально экономит трафик. Если это кому-то важно.



# Andrew Lobanov to ahamai @ Re: Срез @ idec.talks 31/10/24 05:21

ahamai> Хэш в блеклисте это вообще ничего не меняет, нужны же "сообщения от", если в файле эхи сообщение есть, то от него и пойдёт. Если хэша нет, то отдастся вся эха. По сравнению с текущим случаем, преимуществ два - хэш гораздо более надёжный источник, чем количество сообщений, и не сработает только в одном случае: если конкретная нода инъектировала в эху сообщения сверху - но на это нужно иметь настолько серьёзные основания, что это повод говорить об этом в сисопской эхе.

Какие-то количества сообщений придумал. Нет их уже, считай. Легаси, который в скором времени выставим на мороз.

> Ну и второе - точно отдадутся только самые новые сообщения, одним запросом (я думал, реализация срезов вообще не так работает, в текущем виде она вообще какая-то непонятная, почему на все эхи один лимит, если сообщений в базе мало)

Как количество сообщений влияет на работу срезов? Out of range невозможен.

ahamai> не использовалось это никогда потому что я не вижу смысла экономить и так копеечный трафик. но на такой случай реализация в моей станции была

Если не видишь смысла экономить трафик, то тогда непонятно что тебе не нравится в том, что срез один на запрос, а не для каждой эхи отдельно. Я думал, ты байтики экономишь и не хочешь получать в индексе сообщения, которые у тебя уже есть в базе.

+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.