~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+Xeha
GFW
HackerMan
Most
Nobody
Opax
WebClient82
ananas
anon
anontor
b3t4f4c3
cry4me
darkcyankitty
deserving-stegosaur
duanin2
duck
fidoid
gobo
halloy1341
kaneki
karamba_i2p
leopold_
mareki2p
n1
nik0tr
ntty
osoznayka
poriori
profetikla
qend
rc13
slfd
sonya
soos
teeth
un
user
orignal
что поменял?
onon
Ну там значит логика такая
onon
Если достигнут предел неподтверждённых пакетов
onon
То создаём стрим, а потом сразу его закрываем...
onon
Звучит и выглядит как идиотизм...
onon
Но по другому никак не получается
onon
Потому что пока стрима нет, мы не можем помотреть сессию и количество пакетов...
onon
Ну и для исходящих стримов тоже костыль
onon
Если мы создаём стрим а отправить ничего не можем то через некоторое время закрываем его
onon
А конкретно, когда пытаемся отправить запрос лизсета вместе с акком
onon
Но отправить его не можем потому что ничего не получали
orignal
ты сформулируй кратко описани коммита
onon
И да, это заметно на работе сайта
onon
Это сложную задачу ты мне задаёшь
onon
Ну вот у тебя был коммит create new stream only if bandwidth is available. Close non-responding streams
onon
Вот смысл точно такой же
onon
Это можно считать продолжением того коммита
orignal
все понял
B5eS4rY
Какие issue, не требующие глубокого понимания кодовой базы, я могу взять?
orignal
не заморачивайся
onon
Тут везде нужно понимание кодовой базы и принципов работы i2p сети
B5eS4rY
Ничего простого для ознакомления не осталось? Как посоветуете вкатываться в проект?
onon
Ну разве что в рисовании вебинтерфейса не нужно, но Лось сильно не любит там что-то менять
orignal
вкатываться точно не надо
orignal
нет вебинтефейс не надо
B5eS4rY
Вам не нужны ещё разработчики в проект?
orignal
нет
orignal
на нужны те кто разбирается в i2p
orignal
а кто хочет "вкатываться" на таких времени нет
B5eS4rY
А как разобраться, не читая код?
onon
Спеки читай
onon
Как устроена сеть
orignal
открывай geti2p.net и читай описания протоколов
B5eS4rY
Под "вкатиться" подразумевается познакомиться с кодовой базой проекта. То есть то, что всегда происходит при переходе на новый проект
orignal
ну вот тебе сказали читай описание а дальше смотри как оно сделано в коде
orignal
потом можно будет говорить предменто
B5eS4rY
Могу я узнать про ограничение скорости транзита подробнее? onon, orignal
orignal
параметр bandidth
onon
Ну вот у нас щас нет жёсткого лимита. Есть только мягкий
orignal
коды это расписаны в каком то документе подробно
onon
А нужно бы жёсткий
orignal
у нас органичение работает так
onon
Потому что пользователи не всегда на безлимите сидят
orignal
если текущая скорость превышает пороговую мы перестаем принимать тоннели и выставляем флаг E
orignal
до этого выставляем флаг D
onon
А я вот говорю, что нужно все транзитные пакеты в общую очередь пихать перед транспортами
onon
И там ограничивать скорость
onon
А он говорит что не нужно...
orignal
у нас процессов не резиновый
orignal
*процессоп
orignal
*процессор
B5eS4rY
@onon, а такого мягкого режима недостаточно? А как планируется сделать жёсткий? Просто затормаживать транзит специально при превышении скорости?
orignal
у него это пожелания из серии пыниных "надо строить самолеты"
onon
Ну обычно, вот есть лимит скорости, вот мы столько пакетов в секунду и пропускаем
onon
А потом ждём следующего такта
onon
Да это не так сложно делается
onon
Какие самолёты
B5eS4rY
Ну, про очередь и правда похоже, что можно ей решить. Но разве это займёт так много процессорного времени?
B5eS4rY
Единственное, где можно было бы потерять много производительности, из того, что я вижу - синхронизация. Но синхронизировать между разными потоками тут ведь не обязательно. В связи с возможностью создания своих очередей отправки
B5eS4rY
и получения для каждого треда отдельно. Быть может, я что-то упускаю, конечно. Если это так, то мне бы хотелось узнать, а что именно?
onon
Я думаю тут больше проблем с памятью будет
onon
Потому что эти пакеты нужно будет хранить достаточно долго
onon
Если входящий поток превышает исходящий
onon
Секунд пять трафика
B5eS4rY
А нельзя ли дропать входящий поток в таком случае?
onon
А это например на стомегабитном канале 50 мегабайт примерно
onon
B5eS4rY, ну всё что выше лимита конечно дропать
onon
А буфер нужен большой чтоб CC работал нормально
B5eS4rY
СС?
onon
CongestionControl
onon
Потому что дропунтые пакеты отправитель будет перепосылать
onon
А при наших задержках это ну очень долго
B5eS4rY
А если дропать на более высоком уровне, чем транспортный протокол?
onon
Так я и предлагаю
onon
Сделать очередь выше транспотров
onon
А оттуда уже на транспорт
B5eS4rY
А нельзя отправить клиентам сообщение тогда, чтобы дропнутые пакеты оно не перепосылало некоторое время?
onon
Нет, у нас все сообщения шифрованные
B5eS4rY
Расшифровать входящий поток, узнать ключ роутера, да зашифровать и отправить?
onon
Мы знаем только откуда пришло и куда нам нужно это отправить
onon
Нет, между роутерами связь у нас через транспорты NTCP2 и SSU2
onon
А мы говорим про транзинтый трафик, например датаграммы или стримы
onon
Мы не знаем отправителя
orignal
на самом деле для транзита общая очередь и так есть в TransitTunnels.cpp
orignal
там отдельный тред для них
onon
Да, но там всё просто пропускается
orignal
ну вот там и надо отслеживать если уж на то пошло
onon
НУ и раз уж коснулись, пачки по 100 пакетов это прям слишком много
onon
Пейсер туда приделай
B5eS4rY
~orignal, а зачем отдельный тред?
orignal
чтобы транзит не влиял на твой собственный трафик
B5eS4rY
А просто в очередь внутри io_context в boost asio не положить?
orignal
и что это изменит?
orignal
все равно будет по порядку с транзитными пакетами обрабатываться
onon
Будет сложнее и непонятнее
orignal
да не будет
B5eS4rY
Меньше переключений между тредами в ОС. Хотя один тред много не поменяет, но всё же
orignal
но сути это не меняет
orignal
ты еще корутины притащи
B5eS4rY
Вы так говорите, будто корутины это что-то плохое
orignal
иди умничай в другом месте
orignal
раз транзит вынесен в отдельный тред значит была для этого причина
onon
orignal, вот ты так всех желающих и распугал
onon
Человек вон помочь хочет, а ты набрасывашься
orignal
вот такой я злобный буратино
onon
Потому и тянешь в соло проект
orignal
помощи я пока не зматил
onon
B5eS4rY, ты на него не обижайся
orignal
вот Vort говорил и спрашивал по делу
onon
У Лося просто детство тяжёлое было
onon
Деревянные игрушки..
onon
К полу прибитые...
onon
Ну где нам второго ворта найти
onon
Он вишь в одиночном екземпляре существет
onon
Надеюсь, ещё существует...
orignal
так и R4SAS когда бывает не занят
orignal
и villain был такой же
onon
А R4SAS разве бывает когда-то не занят?
onon
Я такого не видел ещё
orignal
вчера какие то PR-ы принимал
orignal
иногда бывает
orignal
пакет для феди вот починил