IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#dev
/2022/12/05
~AreEnn
~R4SAS
~acetone
~orignal
~villain
&N00B
+relaybot
Most2
Nausicaa
Vort
Xeha
anon2
b3t4f4c3
guest
karamba_i2p
nemiga
not_bob_afk
poriori_
profetikla
soos
un
weko
whothefuckami_
НАТАШКА
Vort потестировал последний коммит. получилось вполне ожидаемо:
Vort скатывания RTT вниз больше нет, но вместо этого есть заморозка при больших seqn
Vort у m_RTT со временем получается настолько большой вес, что сдвинуть с места (перепрыгнуть с учётом округления хотя бы на единицу) его практически нереально
Vort так, конечно, лучше, чем было, но всё равно надо улучшать
Vort хоть правильный вариант - изучать алгоритмы (хоть в java версии, хоть гуглить), скажу свою идею по модификации того, что есть:
Vort вместо seqn можно сделать отдельный счётчик. увеличивать его как seqn, но только до определённого фиксированного значения
Vort заодно его можно будет сбрасывать при смене туннеля. seqn, как я понимаю, не сбросишь
orignal правильно
orignal надо сделать второй шаг это обнудение его веса при переключении
Vort думаю, ограничение тоже нужно. скорее всего, значение "блокируется" раньше, чем новый туннель создаётся
Vort вот про то, до какого значения ограничивать - не знаю. мне кажется, 10-20 нормально будет
Vort надо наверно поставить лимит примерно наугад, последить за RTT и решить, достаточно ли гибкости при лимите
Vort но, конечно же, и без лимита просто сброс - это тоже будет шаг вперёд
orignal там я тебе говорю попробуй если seqn кратен 16 пересчитывать поаполам
orignal (seqn & 0x0f) = 0
Vort это получится пропустить часть высокочастотного шума
Vort я верно предположил, что seqn обнулять нельзя?
Vort если да, то всё равно нужен новый счётчик
Vort так что я лучше подожду реализации обнуления веса, а потом уже попробую что-то менять. если надо будет
orignal он из пришедшего пакета берется
orignal его никак не "обнулить"
orignal там логику надо переделывать
Vort ну значит новый счётчик
Vort хм
orignal вот я и думаю что
orignal так ты пока проверь если каждый 16-ый
Vort так seqn всё равно в космос улетает. при каждом 16м будет блокировка не навесегда, а на произвольном шумном значении
Vort выкинуть 15 из 16 значений - и будет примерно то же самое
karamba_i2p привет. а вы не в курсе случаем вот такой ресурс bandura.i2p явовский или сишный роутер использует? пишет его зовут Marek Küthe с германии и якобы программер на плюсах...
orignal так ты в качестве множителя бери не seqn а остаток от деления на 16
orignal насколько мне известно явовский
orignal вроде даже I2P+
karamba_i2p ок, спасибо
orignal мне дрозд говорил
orignal но дрозд сам по себе источник обс
Vort остаток - чтобы оно ещё прыгало от шумного значения к сглаженному...
Vort я понимаю, зачем начинать с маленького веса - чтобы при старте потока было какое-то адекватное значение
Vort но посреди работы это уже не оправданно (за исключением случая переключения, конечно же)
Vort говорю же - для переключения на другой туннель всё равно нужен новый счётчик
Vort и на этом можно уже дальше строить логику контроля за сглаживанием
Vort я вчера говорил про теорию управления, сейчас уже не уверен - тут просто фильтр
Vort low pass filter
Vort скользящее среднее был бы FIR (КИХ)
Vort а вот эта вот штука с динамическим весом - IIR (БИХ)
Vort + ещё пояснение: задача - сбросить вес при переключении
Vort seqn сбросить нельзя, значит весу нужна своя переменная
Vort попробую сейчас это на(говно)кодить. если сломаю - вернусь просто на прошлый бинарник. с кодом будет проще обсуждать
orignal может и не нужна
orignal там продумать надо
Vort если вариант окажется негодным - не страшно
Vort готово. чат жив, майн жив, надо больше думать и тестировать
Vort посмотрю, как на другой тоннель прыгать будет
Vort не сброс, конечно, но, думаю, быстро адаптируется
orignal так ты самое главное не сделал
orignal момент переключения
Vort сброс не сделал. знаю
orignal там где RTO зануляется
Vort но это надо глубже в код лезть
Vort я просто показал идею со счётчиком
Vort поверх неё надо сделать сброс. если основа годится естественно
orignal ну это то понятно
orignal я просто думаю правильный ли это алгоритм в принципе
Vort я модифицировал то, что есть. притянул его к тому состоянию, которое мне кажется адекватным
orignal в любом случае если оно улучшаем работу то следует делать
Vort а с нуля или по документации java i2p однозначно можно сделать лучше
orignal этот код еще в 2014 году был написан
orignal так что сам понимаешь
Vort ну надо ещё потестировать и подумать. я же окружающий код первый раз вижу, мог что-то не учесть
orignal я тогда сделал чтобы книжки с флибусты качались и ладно ))
orignal Vort оказывается у меня та же ботва в SSU2