IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2025/02/02
~AreEnn_
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+Xeha
AreEnn
CreateEnergyDecreaseEntropy
DsecT
Guest98878
Hypnosis
Most
Nos4-Group
Opax
SOS
ahiru
ananas
anontor
avele
ch
duanin2
entity
equinoxe
fidoid
ice_juice
justaperson
karamba_i2p
laugh4me
lilith
luvme
mareki2p
n1
pinotto
poriori
profetikla
ps
qend
rumpelstilzchen
shaye
sonya
tensor
un
urist_
vade
void
плаZскуф
onon Floodfills: 914
orignal когда уже тысяча?
onon Когда бюджет выделят на аренду новых мощностей
Vort у меня показатели как обычно. Floodfills: 607 LeaseSets: 385
onon Это на U роутере с низким транзитом
onon Видимо на высоком транзите пакеты теряются и флудфилы считаются недоступными и выкидываются
orignal как это у тебя U роутер стал флудфилом?
Vort многовато для выкидывания
onon Никак
Vort но возможно, да
onon Это не флудфил
Vort когда я проверял, около 100-200 выкидывалось
aboba Сижу, не могу понять, почему git diff показывает, что изменен весь файл при сохранении. Оказалось, часть файлов i2pd в кодировке us-ascii, а часть — в utf-8. Очень неудобно. Может, закинуть PR, чтобы перевести все
aboba файлы в utf-8, и добавить pre-commit hook для проверки кодировки изменений?
zIodtnSl давно пора
aboba Сейчас, хочу услышать мнение original, может в этом сокральный смысл есть. Либо он сам сделает =)
aboba *orignal
orignal нет
orignal не надо этим заниматься
orignal умножение сущностей без налобности
orignal а UTF-8 по уму должно быть только в файлах с перенводами
orignal все остальное обычное ASCII
aboba Понял, спасибо
onon А для чего в SSU2 при вызове ретрансмита туда передаётся таймстемп, а не вызывается из самой функции?
onon Это оптимизация или есть какая то логика из-за времени выполнения кода
orignal чтобы один раз его брать
orignal операция взятия тайстампа тоже отнимает сколько то времени
onon Угу
Vort какие есть доказательства того, что не все файлы в i2pd в utf-8 ? :)
Vort вот я глянул несколько штук и делаю вывод, что все в utf-8 и так
orignal Vort я честно говоря вообще никогда не забумыался в чем они
Vort это потому что в линуксе традиция использовать UTF-8
onon А m_PendingOutgoingSessions только хендшейки ретрасмитит?
onon Или ещё какие пакеты
orignal вот я сооздают новый файл в xed в чем он будет?
orignal да только хэншейки. SessionRequest и SessionConfirmed
onon Когда получает ответ тогда переходит в m_Sessions
orignal когдп получает подтверждение на SessionConfirmed
Vort orignal: судя по тому, что я нагуглил, будет UTF-8, если не вызовешь Save As и не поменяешь в выпадающем списке
orignal значит тогда все UTF-8
orignal я по другому файлы не создавал
Vort ещё по поводу кодировок: в винде есть такая штука как UTF-8+BOM. и вот её в код лучше не пускать. из-за неё может быть много хаоса
Vort проще считать, что везде UTF-8 без BOM и пользоваться нормальными текстовыми редакторами
aboba хз, взял исходники с github, пишу file -i i18n/Chinese.cpp выводит charset=utf-8 , пишу file -i libi2pd_client/I2CP.cpp выводит charset=us-ascii, я пишу в vim тыкаю :w , git diff показывает что часть строк поменялись на теж символы
Vort ascii - это подмножество utf-8 без BOM
` utf-8 в коде - спайварь
` скам и спид
Vort ну а насчёт vim... мне даже это название вспоминать не хочется
orignal потому что с Chinese.cpp UTF8 с символы явно присутсвуют
orignal а в I2CP.cpp нет
orignal очевидно же
aboba vim это да =) никому не советую, но я привык уже страдать. Да, но с git diff странная ситуация, но ладно возможно я где-то накосячил с конфигом vim
orignal и странный выбор I2CP.cpp
zIodtnSl micro хороший редактор
` nano топ
Vort уточнение: ascii совпадает с utf-8 только если нет символов с кодами > 0x7F
Vort aboba: так посмотри в хекс редакторе в чём дело
orignal что верно для блольшинтсва файлов
Vort помимо кодировок ещё могут быть проблемы с переводами строк
Vort некоторые редакторы могут либо нормализовывать переводы строк либо переделывать по-своему
Vort в i2pd сейчас проверил - везде 0x0A (LF)
Vort то есть, либо vim пихает BOM куда его не просят, либо переделывает переводы строк на другой лад
aboba clangd, даже если указать чтобы автоформата кода не было удаляет whitespace , кодировка здесь не причем, я не разобравшись вкунул на абум, простите
Vort а, ну в конце строк в i2pd много пробелов
Vort это вполне можно зачистить, но orignal наделает их опять )
orignal вот именно
orignal я за ними не слежу
onon Мне кажется в i2pd других проблем кроме лишних пробелов хватает.
orignal о чем я сразу и сказал ))
onon Что там дед собрался ревьюировать?
orignal да все с посткватновой дуростью носится
onon 167 svc records Tue. Feb. 18, 3 PM EST
onon Кто такие svc
onon 163 DG2 Tue. Mar. 4, 3 PM EST
orignal не в курсе
onon Это я так понял даитаграммы
orignal это датаграммы 2
onon 169 PQ Tue. Mar. 18, 3 PM EST
onon А кто такой PQ
orignal post-quantium
onon Ааа
onon Ясн
onon А когда SSU2 патчи ревьюировать собираетесь?
orignal да никогда
orignal дед хочет чтобы я написал пропозал как он хочет
orignal а я сказал что я не буду писать как он хочет потому что это его идея
onon Действительно не логично. Ты предлагал один вариант, он сказал что не годится и предложил другой, свой вариант. И теперь ждёт что ты для этого варианта сделаешь пропозал.
orignal именно
orignal сказал что мой вариант ему не нравится
onon В функции SSU2Session::SendQueue () мы отправляем несколько пакетов пока m_SentPackets.size () <= m_WindowSize а потом ещё сверху один пакет if (packet->payloadSize > ackBlockSize)
onon uint32_t packetNum = SendData (packet->payload, packet->payloadSize, SSU2_FLAG_IMMEDIATE_ACK_REQUESTED);
onon m_SentPackets.emplace (packetNum, packet);
onon Это уже превышает m_WindowSize
onon Или я неправильно понял?
orignal надо глянуть
orignal возможно
onon А если нам нужно только один пакет отправить...
onon Будем прицепом ещё один цеплять
onon 200% оверхед
orignal а еслм у тебя сообщение длиной 16k а рзамер окна 1?
onon Потому у деда и сделано окно в байтах
onon А не в штуках
orignal короче нет лишнее не отправляется
onon А как это работает объясни
orignal в текущий пакет пихаем сообщения
orignal как только полный отправляем
orignal когда сообщения закончились отвпраялем последний
onon Или лыжи не едут..
onon В каком случае это условие будет верно: if (packet->payloadSize > ackBlockSize) ?
onon while (m_SentPackets.size () <= 10)
onon m_SentPackets.emplace (packetNum, packet);
onon if (packet->payloadSize > ackBlockSize)
onon m_SentPackets.emplace (packetNum, packet);
onon Разве не получится m_SentPackets.size () == 11
onon Чувствую себя segfault-ом
orignal надо подумать
orignal да ты прав
orignal <= надо поменять на Б
orignal и нет ты не он ты задаешь правильные вопросы
onon Т.е. я правильно понимаю, что если нужно отправить 1 пакет то он отправляет 2
orignal нет если нудно отправить 1 он и отправит 1
orignal а если нужно 12 а можно только 10 то отправит 11
onon А что насчет 1 пакета и SSU2_FLAG_IMMEDIATE_ACK_REQUESTED
onon А если нужно 12 а можно 100, то сколько отправит и выставит ли SSU2_FLAG_IMMEDIATE_ACK_REQUESTED
orignal а что там?
orignal всегда выставляет на последнем
orignal разумеется выставит
onon Но если 12 < 100 то он будет в цикле отправлять а там SSU2_FLAG_IMMEDIATE_ACK_REQUESTED не выставляется
onon Или как это работает
orignal нет
orignal он в цикле создаст 12-ый потом поймет что пакеты закончились
orignal и отправит его отдельно
onon Это на какой строчке он поймёт
orignal while (!m_SendQueue.empty ()
orignal вот тут
onon Так он пустой пакет отправит?
orignal он же проверяет дальше если там что то кроме ack
onon Ну вот у нас в m_SendQueue лежит 1 пакет, m_WindowSize = 10. В каком месте он сделает SendData?
orignal когда last
orignal в цикле он создаст
orignal в отправит после
onon Как всё сложно
orignal ну так смотри логику
orignal у нас есть сообщения которые надо отправить пакетами
orignal разумеется мы старамся набить пакет по максимуму
onon Я понял
onon Я думаю как туда ограничение количества одновременно отправляемых пакетов всунуть
onon Чтобы пэйсить
orignal так это не там надо
orignal это в SSU2Server::Send надо
onon Я на уровне сессии пока пробую
orignal так не надо
orignal у тебя сесиий тысячи
onon Я один таймер юзать буду
orignal вот в Send и надо
orignal кидать не в сокет а в очередь
orignal и там уже пейсер
onon Если ты такой умный, то почему до сих пор не сделал? =)
orignal потому что некогда
orignal я даже локальные сокеты для тоннелей запилить не могу
onon В новом релизе будет i2p.streaming.profile = 2 для [IRC-ILITA] в дефолтном конфиге?
` Что за очередной ключ не прописанный в конфиге?
orignal для какой сиситемы?
orignal скажи какой файл поменять?
orignal галка этот ключ есть в доках
onon /contrib/tunnels.conf наверное
orignal еще для ведра есть
orignal поправилю
onon Нужно что-то с SharedRoutingPath делать
orignal где?
onon В стримах
orignal ну сделай
onon Когда картинок много и они все шлют в один туннель, каждый стрим разгоняет своё окно и потом если на этом маршруте случается затык, там и теряется 800 пакетов
onon И всё
` > As of API 0.9.64, Java I2P ignores the value. Through API version 0.9.63, i2pd ignored this option; it is implemented in i2pd as of API 0.9.64.
` > While the streaming protocol includes a flag field to pass the profile setting to the other end, this is not implemented in any known route
` Эм..
orignal ну так предлагай
` <@onon> И всё
` И придётся опять запускать очередь в 100500 фотографий говна на имиджборду.
onon Так вот я и не знаю. Делать каждому новому стриму свой маршрут это медленно странички открываться будут
orignal надо какое то общее окно иметь
orignal и его учитывать
onon Можно наверное при создании или завершении стрима пробегаться по списку стримов и выставлять там MAX_WINDOW_SIZE делением 800 на количество стримов.
onon Тогда на каждом стриме будет скорость ограничиваться
orignal надо сделать общий лимит просто
orignal сделал чтобы тоннели пересоздавались в случайном порядке
onon Ну так это и будет общий лимит
orignal так на каком то стриме надо маленькое окно а на каком то большое
orignal а проверять надо суммарное
onon Ну да, но лучше я пока придумать не могу
onon Если у нас один стрим уже разогнался до 512, а потом мы создаём ещё один, то как нам делить полосу?
onon Только зажимать первый
orignal поровну
onon Ну вот я так пока и предлагаю