IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2024/09/04
~R4SAS
~orignal
~villain
@onon
&N00B
+Xeha
+r00tobo
+relaybot
+whothefuckami
AreEnn
HackerMan
KabaOS
Leastr
Most2
Nausicaa
Vort
WayBest
`
acetone
anon2
b3t4f4c3
karamba_i2p
nemiga
not_bob
osoznayka
poriori
profetikla
segfault
soos
teeth
tolik
un
unwr
weko
onon Не совсем понял про пул
orignal можем брать все хопы тоннель с таким показателем только когда их будет не менее тысячи например
orignal или 5 тыс
onon Ну да, так выглядит лучше
onon Но в любом случае пропускная способность конкретного узла - величина непостоянная
orignal ну просто учитывать как фактор в профилировщике
onon Сделай, посмотрим как будет работать
orignal для начала N выпилю
orignal потом поглядим
orignal меня интересует критерий где в твоем коде можно сказать "да этот тоннель работает хорошо"
onon Интересный вопрос
onon Можно наверное среднюю скорость считать
onon Средний джиттер
orignal надо соизмерять отслыаемые поток с RTT
onon Количество потерянных пакетов ещё
orignal вот тут как то надо нешить
orignal решить
onon А конечная цель какакя? Запустить ютуб в 4к через 32 узла?
orignal запустить ютуб в 240 для своих
onon Через сколько хопов?
orignal 1 с каждой стороны
onon И 240 это сколько в килобайтах/с
orignal нет знаю
orignal то чно там 240p
onon Resolution 426 x 240
onon Maximum 700 Kbps
onon Recommended 400 Kbps
onon Minimum 300 Kbps
onon 88 КБ/с примерно
orignal ну вот это и надо
onon Делай const int MIN_WINDOW_SIZE = 20;
onon const int INITIAL_WINDOW_SIZE = 20;
onon Должно заработать
onon Ну и можно ещё LimitOutboundSpeed = 100000
onon Так делать конечно нельзя, но тебе можно
orignal больше никаких констант не надо?
onon PREV_SPEED_KEEP_TIME_COEFF = 1
onon INITIAL_RTT = 5000;
onon INITIAL_RTO = 6000
orignal понял
orignal это везде можно или только там.
onon Только себе
onon И то это не гарантия
onon Но пихать пакеты будет не смотря ни на что
orignal счас проверим что без N будет
orignal тогда такой вопрос
orignal что надо поставить для 100 кбс?
onon i2p.streaming.maxoutboundspeed = 100000
onon Точно название параметра не помню
onon Ну вот я сейчас через 2 узла 240p смотрю
orignal а по умолчанию она сколько?
onon Дохрена
onon Тебе нужно ограничивать, чтобы не перегружать
orignal я говорю про параметры для потока в 100 кбс
onon Сверху ты ограничиваешь этим параметром, а снизу окном
onon Ну там в байтах в сек
onon 100*1024
orignal погляжу
onon i2p.streaming.maxOutboundSpeed Max outbound speed of stream in bytes/sec. 1730000000 by default
onon Наверное даже окно в 25 ставь
onon MIN_WINDOW_SIZE = 25;
onon INITIAL_WINDOW_SIZE = 25;
orignal а минимально почему?
onon Чтобы не зависал
onon ютубчик
onon Грубо говоря ты просто выключаешь CC
orignal а на что оно вличет?
orignal а ну понятно
orignal то на что дед ругается
onon Да
orignal от выкидывания N эффект сразу значительный
onon Я думаю просто в Европе ночь
orignal возможно
orignal отлично ютуб кажет
onon N - это сколько килобайт/с было?
orignal до 128
onon 1 мбит
onon Вроде не так уж и медленно
orignal понимаешь N гарантированно джава
orignal суть то в этом ))
onon В бантустанах очень распространённый тарифный план
orignal i2pd не может выставить N в принципе
orignal или L или O
onon Угу
orignal потому чем меньше джава узлов попадается в тоннелях тем лучше
onon Почва для конспирологических теорий =)
orignal в чем?
onon > чем меньше джава узлов попадается в тоннелях тем лучше
orignal ну а что не так?
orignal ну и зачем строить тоннели через бантустаны?
onon Ну у нас сеть вроде тем более анонимная, чем более распределённая
onon Чтобы никто не мог контролировать все узлы в цепочке
orignal тогда будет скорость низская
orignal узлы не будут держать поток
orignal ну и у меня позицию кому нужен транзит то поставит O
onon Согласен
orignal ну и по надо сремиться по возможности строить клиентские тоннели через джаву
orignal надо же
orignal дрозд не понимал как работает инродьюсер )))
onon Ага, он думал что работает как TURN
orignal реально считал что это прокси ))
Vort "<onon> Вроде не так уж и медленно" - для одного туннеля - да. но когда этот канал делится между сотнями и тысячами туннелей - то уже получается чёрти-что
Vort а если ещё учесть фоновый шум сети, то выходит что даже без пропускания полезного трафика эти узлы перегружены
sha512sum libi2pd/HTTP.cpp:86:4: warning: moving a temporary object prevents copy elision [-Wpessimizing-move] 86 | std::move (std::string (line.substr(pos + len))));
sha512sum libi2pd/HTTP.cpp:85:25: note: remove std::move call here 85 | return std::make_pair(std::move (std::string (line.substr(0, pos))),
sha512sum libi2pd/HTTP.cpp:67:24: note: remove std::move call here 67 | std::stringstream ss(std::move(std::string(line)));
sha512sum Какого фига там мув вообще?
sha512sum ~orignal
orignal это с 20 или с 17?
orignal правильно там мув
sha512sum 17, там гарантированное RVO будет
orignal где именно у тебя не собирается.
orignal поправлю
sha512sum У меня собирается, но мув там не нужен и уменьшает перф
sha512sum Варнинг выдаёт только
orignal нужен
sha512sum Там выполняется Copy Elision, std::string там была prvalue, а после std::move становится xvalue, из-за будет вызван доп перемещающий конструктор
orignal там где в stringstream там move конструктор есть
sha512sum Там только что созданная std::string мувается
sha512sum Это только вредит. Любой только что созданный объект с конструктором, будет считаться prvalue и при принятии такого объекта по значению, мув или копи конструктора не будет
sha512sum А с std::move будет гарантированно мув конструктор
sha512sum Лучше без конструкторов лишних и деструкторов, чем с ними
orignal мне надо вызвать именно мув конструтор там
sha512sum А зачем?
orignal чтобы избежать лишнего копирования
sha512sum Так копирования и не будет
sha512sum И мува тоже не будет
sha512sum Объект сразу создастся внутри параметров конструктора, без копирований или перемещений
orignal договорились
orignal выпилю
sha512sum godbolt.org/z/KTq475cbK У меня даже вот ссылка есть, где я такое активно использую.
sha512sum Да и зачем вообще std::make_pair использовать, есть же CTAD 17 и можно писать просто std::pair{value1, value2}
orignal потому что он там давно был
orignal счас переделаю
orignal так stingtream передавать через move или нет?
orignal если мне надо запхнуть в него string_view
sha512sum Ну так если надо запихнуть std::string_view, можно же создать из неё std::string. std::string будет prvalue в таком случае. А любое prvalue дополнительно мувать не надо
orignal ты это проверяла?
sha512sum Так в стандарте написано, можешь ту ссылку проверить, если бы оно так не работало, тот код бы просто не компилировался
orignal счас поправлю
orignal а давай ты остальной код на 17 переделеаешь
sha512sum А давай ты поможешь xmpp клиент писать
orignal мне некогда
orignal закоммтил
orignal счас нормально?
sha512sum Ну компилятор не жалуется
sha512sum Значит должно быть нормально
orignal меня волнует чтобы оверхеда не было
sha512sum Ну теперь лучше да
shushkebab how od i learn anything about libi2pd?
orignal you can't. it's secrect knowledge
shushkebab not ready yet?
shushkebab how would you store address book and everything.
orignal ready and works
orignal sorry I don't have time to explain all of this
shushkebab start a new one each time in memory or still have it in user directory
orignal for addredssbook you need libi2pd_client
shushkebab libi2pd too powerful in wrong hands?
orignal no, it's just you who is not ready to use it
shushkebab gotta figure it out on my own to be?
orignal yes please