~AreEnn
~AreEnn_
~R4SAS
~orignal
~villain
&N00B
Guest7184
Komap
Most2
Nausicaa
Nikat
Opax
Vort
Xeha
`
acetone
anon
b3t4f4c3
fidoid
i
ice_juice
karamba_i2p
lkF3FzvvvXTG1
nemiga
not_bob_afk
poriori
profetikla
qend
segfault
slfd
soos
teeth
tetrimer
un
whothefuckami
woodwose
orignal
ну это прогу мы используем
orignal
идея с ресидом такая
orignal
написать просто парсер который читает RI и вытаскивает из него свойства и адреса
Vort
java так и работает. парсит и выдаёт в человекочитаемом виде
Vort
или нужен какой-то особый вид на выходе?
Vort
насколько я понимаю, стандарного представления у RI никакого нету, кроме бинарника
orignal
нужно поля version и caps вычитывать
orignal
и адреса на прдемет ygg
orignal
естественно такая читалка есть в i2pd-tools
orignal
ну суть чтобы написать на чистом питоне
orignal
без лишних зависимостей
Vort
аа, понятно
Vort
а в той читалке что в i2pd-tools какой выходной формат?
Vort
я просто когда-то пробовал ей воспользоваться и ничего не вышло
orignal
не помню уже
orignal
да ладно я на питоне напишу
f2IjH
чего там вам на питоне нужно написать?
orignal
pyseeder
orignal
проверку версии седать
orignal
чтобы в ресид не сключались старые ротуеры
orignal
мы его счас используем
f2IjH
вам ее полностью нужно переписать или только какой то функционал от нее?
orignal
надо туда добавить что бы 1. не включать роутеры с версией ниже 0.9.59 2. роутеры где в caps присуствуют буквы U, D, E, G
orignal
2. в смысле такие не вклюать
orignal
осложняется все тем что формат там бинарный
f2IjH
давно пора ставить вопрос о переходе на человекочитаемый формат
orignal
ну надо делать реалистиные вещи
orignal
не то что это прям срочно просто джависты свои ресиды переделали вот так
orignal
но у нас ньюанс в том что надо ygg роутеры добавлять
f2IjH
ну правильно, от старья нужно избавляться
orignal
ну вот придется код переделать для этого написать парсер роутера и вычитывание свойств
orignal
добавил отлуп транзитов идущих на дубликаты
Vort
сейчас 12к транзитов у меня. перезапущу с новым кодом, сравню
user
for line in RI:
user
dLine = line.decode('utf-8', 'ignore')
user
sLine = dLine.split(';')
user
for val in sLine:
user
if 'caps=' in val and not 'SSU' in val and not 'NTCP' in val:
user
if 'U' or 'D' or 'E' or 'G' in val:
user
do something
Vort
это не намного лучше ковыряния регуляркой
Vort
нормальный парсинг идёт на бинарном уровне
orignal
да я лучше напишу класс котоырй вычитавает этот mapping нормально
orignal
и все будет прозрачно
Vort
что-то вспомнилось - не так давно кто-то ведь выкладывал парсер
Vort
по-моему, он был нерабочий. но какой тогда язык это был?
orignal
да там дел на 10 минут
orignal
такой класс написать
Vort
обсуждать дольше ) понятно
orignal
угу
orignal
надо ж поговорить ))
orignal
просто я спросил сегодня деда парсит ли idk в своем ресидере на гоу
orignal
дед отвеил что да
Vort
может там тоже регулярки или split? :))
Vort
кстати насчёт последнего коммита. довольно сильно узел на старте залагал. профили читал что ли?
Vort
где-то полминуты 100% ядра жрал
orignal
нет он сказл там полноценный пастер
orignal
ну это явно не с коммитом связано
f2IjH
а так не проще?
f2IjH
if 'caps=' in val and not any(proto in val for proto in ('SSU', 'NTCP')):
orignal
может и проще
orignal
посдений коммит это же только про транзит
orignal
когда запрос на построение прилетел
Vort
в общем, где-то есть источник отжирания CPU
orignal
другое дело что счас там добавилено что если старая версия то вычищать все peer test из адресов
Vort
может и не последний. но увидел прямо на старте только сейчас
orignal
убери этот код и проверь
orignal
оно в RouterInfo.cpp
Vort
при выключении тоже часто CPU жрёт, но к этому я привык
Vort
хотя чаще крешится до того, как успевает начать жрать )
orignal
по уму этот код должен вызываться только для говна мамонта
Vort
а вообще и прошлый запуск тоже с таким горбом был. я просто не обратил внимания
Vort
я вообще не представляю что можно делать такого, чтобы полминуты CPU жрать
Vort
вычистка для пир теста разве может так много ресурсов потрблять?
orignal
не должна
orignal
ну при старте читаются все роутеры какие есть в папке netdb
orignal
а когда их много сам понимаешь
Vort
горб не сразу кстати
orignal
для каждого делается проверка подписи
Vort
через 3 минуты где-то
orignal
ну это уже построение тоннелей на всех дестинейшинах
Vort
сейчас через vtune запущу. на две вещи надежда - что vtune словит символы от clang и что воспроизведёт проблему
f2IjH
хотел спросить, а эти тоннели udpserver udpclient они строятся через любой транспорт ntcp2 и ssu2 или только по ssu2 типа udp же
Vort
через любой
orignal
через любой даже через ygg
orignal
это разные уровни
f2IjH
а в чем преимущество ssu2 ну кроме пробива nat?
orignal
над чем?
f2IjH
над ntcpc
f2IjH
ntcp2
orignal
сложнее его распознать
orignal
а так да главное работа за натом
orignal
также проблема NTCP2 в том что он жрет дескрипторы
orignal
на каждую сесиию по дескриптору
orignal
SSU2 нет
Vort
orignal: нихрена я в этом бусте не понимаю. но у меня открыт профилировщик сейчас. может ты поймешь
Vort
короч лаг идёт из треда SharedDest
Vort
такое ощущение что адресная книга в цикле спамит новые треды
orignal
возможно
Vort
void AddressBook::ScheduleCacheUpdate ()
orignal
я там меня кое что
orignal
счас гляну
Vort
m_SubscriptionsUpdateTimer->async_wait (
orignal
про подписки это другое
Vort
может профилировщик тупанул и на строчку выше?
Vort
m_AddressCacheUpdateTimer->expires_from_now (boost::posix_time::seconds(ADDRESS_CACHE_UPDATE_INTERVAL ));
orignal
тьфу ты
orignal
смотри какая опечатка
orignal
счас
orignal
починю
Vort
короч я измерил, лаг был 32 секунды
orignal
короче ты отличный баг нашел
orignal
мой косяк
orignal
закоммитил
Vort
минут через 5 перезапущу, как соберётся на GHA
f2IjH
бля опять пересобираться
orignal
ну так или жди релиза
f2IjH
не, в принципе я люблю пересобираться
orignal
так я по нескольку коммитов в день делаю
Vort
10 минут аптайма, шипа нету. замечательно
orignal
и такие ошибки бывают
Vort
ага, я уже посмотрел коммит
Vort
обычно при такого рода опечатках ломается всё и сразу. но не в этот раз
orignal
вот что значит когда постоянно заебывают
f2IjH2
` галка пришел
`
<f2IjH2> ` галка пришел
`
чо7
f2IjH2
привет
`
тыхто
f2IjH2
пахан
f2IjH2
смотрю за шизами
`
Давай не тут флуд, го #tRU
onon
Можешь ещё раз расписать схему с шифрованием в стримах? 800 пакетов - это на один стрим или на все одновременно?
onon
И ты говорил в какой то момент отправляется сообщение переключающее набор тагов. А если это сообщение потерялось?
onon
У меня почему-то зависает страничка с большим количеством картинок. На клиенте при этом на входящих туннелях счётчик байтов увеличивается когда сервер пытается ретрансмиты делать. Но на стримах счётчик входящих не увеличивается.
orignal
на сессиб с дестинейшином
onon
Точно так же как было когда тагов генерировалось мало
onon
И зависало
orignal
если 1000 стримов все равно 800 такгов сегнерится
orignal
надо в конфине ставить больше
onon
Так вот в чём засада
orignal
раньше на кислице на странице с сиськами проверяли
onon
АИБ в пролёте получается...
orignal
если потерлось смена тагсет отправится заново пока не придет потдтверждение
onon
Я вот у дрозда стырил картинки для теста и зависает 6woqj4si4zc4j6gyie63qcpnenuy7c5nukket53ayoe4wo4a5naa.b32.i2p/test
orignal
ну x3 разбираться надо
orignal
число тагов поднимать пробовал?
onon
Не пробовал, смысл же чтобы у рядового пользователя всё работало
Vort
открыл ссылку, пока не зависла
orignal
ну так возможно надо какую то очередь делать
orignal
в сессии
orignal
или число стримов лимитировать
onon
Ну так оно ен постоянно зависает
onon
А иногда
Vort
так может баг где-то просто?
onon
Ну у нас начальное окно 10 пакетов
onon
На 100 картинок получается 1000 пакетов
orignal
это 10 для для всяяких флудфилов
orignal
нету там 10
Vort
я вижу 10
Vort
но суть не в том
orignal
вы про стрим или сессию?
Vort
мне непонятно, с чего бы это браузеру 100 стримов делать?
Vort
у меня штук 10 только одновременно
onon
Ну так на каждую картинку свой стрим
Vort
это что, лиса такую херню творит?
orignal
Vort если на странице много картинок
orignal
тебе на каждую отдельыйстрим будет
orignal
любой браузер так
onon
В http пока мультиплексирование не завезли
Vort
нет, не любой
onon
Вернее завезли, но мы в i2p его не используем
Vort
каким браузером тестировали?
onon
Тормозиллой
Vort
сейчас попробую
Vort
у меня хромо-форк, и там нормально всё
Vort
на лисе тоже штук 8 стримов
Vort
я кажется догадался в чём различие )
Vort
попробуйте через SOCKS
Vort
хотя, может, и не в этом дело, конечно. может, в линуксах ifdef какой-то стоит с указанием плодить коннекты :)
orignal
а нельзя ли какой то мульплесор коннетов замутить?
onon
Включить на сервере http/2
onon
Он тогда будет всё в один стрим пихать
onon
Но мне кажется это будет неэффективно
orignal
вроде так нельщя
R4SAS
orignal: посмотрю, но не обещаю
orignal
что посмотришь?
orignal
я уже не помню о чем мы ))
R4SAS
о ресидере
orignal
да не не надо
R4SAS
уже запилили?
orignal
решили же что я отдельный класс для парсера напишу ))
onon
Если сделаешь общий таймер для стримов и чтобы можно было из таймера передавать стриму в аргументах количество пакетов, тогда можно будет сделать общий лимит
orignal
ты через неделю сможешь релиз сделать или будешь занят?
R4SAS
я уж думал ты решил наконец доделать i2pd-reseeder
orignal
неее
orignal
pyseeder сделаю ))
R4SAS
10 years ago
orignal
аааа
orignal
лол
orignal
я и забыл
onon
А каждый стрим при получении акка будет писать в общую переменную количество подтверждённых пакетов
onon
Пока такие мысли
R4SAS
по поводу релиза пока что не скажу
R4SAS
ближе к четвергу будет ясно
orignal
ну ладно подождем
orignal
можно и через 2 недели
R4SAS
в любом случае можно и без меня как обычно
R4SAS
а я вечером подхвачу
R4SAS
или на след день
orignal
ну разумеется я если буду релизить то в выходные