~AreEnn_
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+Xeha
GFW
Guest68262
Most
Nobody
Opax
WebClient16
anon
asap
b3t4f4c3
deserving-stegosaur
duanin2
fidoid
g1
grimreaper
halloy1341
mareki2p
n1
negative_rock127
osoznayka
poriori
qend
rc13
shaye
slfd
teeth
test02
un
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
пакет для феди вот починил