~AreEnn
                        
                        
                            ~R4SAS
                        
                        
                            ~acetone
                        
                        
                            ~orignal
                        
                        
                            ~villain
                        
                        
                            &N00B
                        
                        
                            +Xeha
                        
                        
                            GFW
                        
                        
                            Genry
                        
                        
                            Guest36277
                        
                        
                            KabaOS
                        
                        
                            Nobody
                        
                        
                            Opax
                        
                        
                            anon
                        
                        
                            anontor
                        
                        
                            b3t4f4c3
                        
                        
                            deserving-stegosaur
                        
                        
                            duanin2
                        
                        
                            fidoid
                        
                        
                            fujifilm
                        
                        
                            gobo
                        
                        
                            iacv1p
                        
                        
                            iiii
                        
                        
                            karamba_i2p
                        
                        
                            leopold
                        
                        
                            mareki2p
                        
                        
                            negative_rock127
                        
                        
                            nik0tr
                        
                        
                            not_bob_afk
                        
                        
                            ntty
                        
                        
                            osoznayka
                        
                        
                            poriori
                        
                        
                            profetikla
                        
                        
                            qend
                        
                        
                            rc13
                        
                        
                            shaye
                        
                        
                            slfd
                        
                        
                            sonya
                        
                        
                            teeth
                        
                        
                            tensor_
                        
                        
                            un
                        
                        
                            weko_
                        
                        
                            yourdarkflow
                        
                        
                            крепкотузов
                        
                    
                    
                        weko
                    
                    
                        orignal: и что
                    
                
                
                    
                        Vort
                    
                    
                        стоит юзерам Yggdrasil держать наготове на случай активизации цензуры
                    
                
                
                    
                        Vort
                    
                    
                        там и quic и tls и вебсокеты
                    
                
                
                    
                        fffff
                    
                    
                        а что случилось с  github.com/str4d/ire никто не знает?
                    
                
                
                    
                        Vort
                    
                    
                        автор жив, коммитит в соседнем репозитории
                    
                
                
                    
                        Vort
                    
                    
                        а по поводу ire поленился даже ответить на простой вопрос:  github.com/str4d/ire/issues/108 
                    
                
                
                    
                        Vort
                    
                    
                        вероятно, понял, что задача оказалась сложнее, чем хотелось бы, но признатся в этом не получилось
                    
                
                
                    
                        Vort
                    
                    
                        но это мои догадки, конечно
                    
                
                
                    
                        orignal
                    
                    
                        знаем
                    
                
                
                    
                        orignal
                    
                    
                        страд просто забил на i2p
                    
                
                
                    
                        orignal
                    
                    
                        ушел zcash делать 
                    
                
                
                    
                        orignal
                    
                    
                        страд так NTCP2 и ниасилил
                    
                
                
                
                
                    
                        onon
                    
                    
                        Я, конечно, сделал чтобы слать по 6 пакетов за раз, но работает это из рук вон плохо
                    
                
                
                    
                        onon
                    
                    
                        А как сделать, чтобы он слал пачками только когда упирается в таймер, я пока не придумал
                    
                
                
                    
                        onon
                    
                    
                        Вернее, придумал, но это нужно всю логику переделывать.
                    
                
                
                    
                        orignal
                    
                    
                        onon так сделаем лимит снизу на 250 микросекунд?
                    
                
                
                    
                        onon
                    
                    
                        А на винде какой лимит?
                    
                
                
                    
                        onon
                    
                    
                        Ворт говорит 500-1000
                    
                
                
                    
                        onon
                    
                    
                        Или он преувеличивает?
                    
                
                
                    
                        orignal
                    
                    
                        не знаю
                    
                
                
                    
                        orignal
                    
                    
                        но 250 все равно лучше чем 0
                    
                
                
                    
                        onon
                    
                    
                        1*
                    
                
                
                    
                        onon
                    
                    
                        Давай я вечером сделаю на 250, если хочешь
                    
                
                
                    
                        orignal
                    
                    
                        давай лучше я там 1 строчка же
                    
                
                
                    
                        onon
                    
                    
                        Делай
                    
                
                
                    
                        orignal
                    
                    
                        сделал
                    
                
                
                    
                        Vort
                    
                    
                        я пока ещё не разобрался, как этот таймер себя ведёт. иногда он срабатывает раз в миллисекунду, иногда - два. плюс к этому всему интервалы очень неравномерные
                    
                
                
                    
                        Vort
                    
                    
                        это при том, что алгоритм запрашивает 1 микросекунду
                    
                
                
                    
                        Vort
                    
                    
                        то есть, 1мс он точно держит, а вот меньше - это уже под вопросом
                    
                
                
                    
                        Vort
                    
                    
                        жаль, я выкинул собранные данные по таймеру. сейчас опять соберу
                    
                
                
                    
                        orignal
                    
                    
                        Vort разберись сколько держил и сделаем там #ifdef win32
                    
                
                
                    
                        orignal
                    
                    
                        250 это из практики на лиунксе
                    
                
                
                    
                        Vort
                    
                    
                        тут же ещё вопрос, что делать с ситуацией "держит, но дерьмово". короч сейчас буду смотреть на данные
                    
                
                
                    
                        Vort
                    
                    
                        вот такой сбор буду делать LogPrint(eLogError, "[", i2p::util::GetMonotonicMicroseconds(), "] Stream::HandleSendTimer m_PacingTime = ", m_PacingTime);
                     
                
                
                    
                        Vort
                    
                    
                        с последним кодом, но MESSAGES_SENT_AT_ONE_TIME = 1, чтобы получить проблему
                    
                
                
                    
                        orignal
                    
                    
                        я не думаю что где то не держит миллисекунду
                    
                
                
                    
                        Vort
                    
                    
                        говорю ж, вопрос в качестве. сейчас станет понятнее
                    
                
                
                
                    
                        Vort
                    
                    
                        вот сырые данные. сейчас буду обрабатывать
                    
                
                
                    
                        orignal
                    
                    
                        а что за ошибка?
                    
                
                
                    
                        orignal
                    
                    
                        то есть в каком случае ты ее видаешь
                    
                
                
                    
                        Vort
                    
                    
                        это я такой уровень поставил, чтобы остальные сообщения не мешали
                    
                
                
                    
                        Vort
                    
                    
                        просто вверху Stream::HandleSendTimer стоит
                    
                
                
                    
                        Vort
                    
                    
                        теперь дельты надо посчитать для мелких m_PacingTime и гистограмму захренячить
                    
                
                
                    
                        Vort
                    
                    
                        и как это понимать?  paste.i2pd.xyz/?71aa761296336425#8xEJEa4cPBYxUmtHYvhthaVA8a1YfbhPoUN7MKLJGnfQ  
                    
                
                
                    
                        Vort
                    
                    
                        алгоритм целится в 1 миллисекунду несмотря на запрос 1 мкс, но иногда косячит и получается 300-700 мкс ?
                    
                
                
                    
                        Vort
                    
                    
                        (алгоритм таймера имею в виду)
                    
                
                
                    
                        orignal
                    
                    
                        вопрос к onon 
                    
                
                
                    
                        Vort
                    
                    
                        ну это общий вопрос про таймер
                    
                
                
                    
                        Vort
                    
                    
                        короч мне кажется, что для винды надо ставить 1мс лимит и не морочить голову
                    
                
                
                    
                        orignal
                    
                    
                        так поменяй константу и проверь как будет
                    
                
                
                    
                        Vort
                    
                    
                        на сколько? 500? 1000?
                    
                
                
                    
                        Vort
                    
                    
                        попробую сейчас 500. если результат будет такой же, как и с 1, значит, надо больше ставить
                    
                
                
                
                    
                        Vort
                    
                    
                        теперь буду пробовать 1000
                    
                
                
                    
                        Vort
                    
                    
                        для полноты картины
                    
                
                
                    
                        Vort
                    
                    
                        один хрен. оно вообще работает? )  paste.i2pd.xyz/?cd1992bbe5d0a1c5#Dg4mj7aMyLNQ3MmwHYVY3kAGywStAkkSSmT5VYxhLh6w  
                    
                
                
                    
                        Vort
                    
                    
                        пробую 2000
                    
                
                
                    
                        orignal
                    
                    
                        погоди ты утвреждаешь что срабатывет не через то время какое заказывали?
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: ты поставил другой тип таймера ? ориж ?
                    
                
                
                    
                        orignal
                    
                    
                        нет
                    
                
                
                    
                        orignal
                    
                    
                        некогда было
                    
                
                
                    
                        Vort
                    
                    
                        orignal: ну то, что 1мкс не держится, я думаю, и так было понятно. это и есть "не через то время" 
                    
                
                
                    
                        onon
                    
                    
                        > Vort: вот такой сбор буду делать LogPrint(eLogError, "[", i2p::util::GetMonotonicMicroseconds(), "] Stream::HandleSendTimer m_PacingTime = ", m_PacingTime);
                     
                
                
                    
                        onon
                    
                    
                        Ты учитываешь, что когда таймер сработал, m_PacingTime уже мог измениться.
                    
                
                
                    
                        Vort
                    
                    
                        а вот дальше... я наверно неверно делаю измерения
                    
                
                
                    
                        onon
                    
                    
                        Он же пересчитывается при получении ACK
                    
                
                
                    
                        Vort
                    
                    
                        onon: нет, не в этом дело. ты напрямую наверно делаешь выховы
                    
                
                
                    
                        orignal
                    
                    
                        а ты не можешь замерять время?
                    
                
                
                    
                        Vort
                    
                    
                        хотя вроде нету прямых
                    
                
                
                    
                        orignal
                    
                    
                        и передавать его в таймер
                    
                
                
                    
                        orignal
                    
                    
                        а потом по завершению снова и сранивать
                    
                
                
                    
                        Vort
                    
                    
                        onon: алгоритм упирается хоть в 1, хоть в 500, хоть в 1000 или 2000. это нормально, тут в чём-то другом дело
                    
                
                
                    
                        onon
                    
                    
                        Я не понимаю, что значит "упирается"
                    
                
                
                    
                        Vort
                    
                    
                        ну стоит на этом значении. если лимит поставить
                    
                
                
                    
                        onon
                    
                    
                        Ну так логично
                    
                
                
                    
                        Vort
                    
                    
                        я, кажется, понял, в чём дело. таймер то сбрасывается иногда
                    
                
                
                    
                        Vort
                    
                    
                        onon: ну это я к тому что "мог измениться" тут не при чём. не меняется он
                    
                
                
                    
                        orignal
                    
                    
                        правильный тест это передавать таймтсам до запусчка таймера
                    
                
                
                    
                        Vort
                    
                    
                        пока что я хоть и с хреновой методикой, но обработаю данные по 2000
                    
                
                
                    
                        orignal
                    
                    
                        нам надо понять с каким минимальным интрвалом срабатывает точно
                    
                
                
                    
                        Vort
                    
                    
                        вот теперь я вижу различие:  paste.i2pd.xyz/?6ff19eaceab94469#58jfPczmcWBSNVdXePGV9Tihr7JUFNcFRrg6iLMMHC4t  
                    
                
                
                    
                        Vort
                    
                    
                        данные херня из за отмен таймера. но это _другая_ херня :)
                    
                
                
                    
                        orignal
                    
                    
                        так онмену не учитывай
                    
                
                
                    
                        Vort
                    
                    
                        короч меньше 1мс ставить смысла нету, картинка не меняется вообще
                    
                
                
                    
                        orignal
                    
                    
                        там же код передается
                    
                
                
                    
                        orignal
                    
                    
                        сработал таймер или отменился
                    
                
                
                    
                        Vort
                    
                    
                        хех. окей
                    
                
                
                    
                        Vort
                    
                    
                        сейчас сделаю ещё два сбора
                    
                
                
                    
                        onon
                    
                    
                        Еще защиту выключи, чтобы он окно не сбрасывал
                    
                
                
                    
                        onon
                    
                    
                        Будет на максималках топить
                    
                
                
                    
                        Vort
                    
                    
                        хотя попробую чуть по-другому. во-первых, учту отмены, во-вторых, буду дельту между Stream::ScheduleSend и Stream::HandleSendTimer считать
                    
                
                
                    
                        Vort
                    
                    
                        если получится
                    
                
                
                    
                        flumental
                    
                    
                        а можете мне объяснить как dns-запросы i2pd резольвит? i2pd работает как dns сервер?
                    
                
                
                    
                        Vort
                    
                    
                        понятно, почему были хреновые графики - слишком много отмен
                    
                
                
                    
                        onon
                    
                    
                        Я же говорю, файл качай
                    
                
                
                    
                        orignal
                    
                    
                        flumental читает из твоего локального файла ))
                    
                
                
                    
                        Vort
                    
                    
                        да отфильтрую сейчас отмены
                    
                
                
                    
                        flumental
                    
                    
                        я не понимаю как не происходит dns leak something.b32.i2p когда пишешь его в браузер
                    
                
                
                    
                        orignal
                    
                    
                        потому что запрос идет к прокси
                    
                
                
                    
                        orignal
                    
                    
                        адреса
                    
                
                
                    
                        flumental
                    
                    
                        нет к хттп прокси идет запрос уже отрезольвленного айпи и идет получение данных вроде как
                    
                
                
                    
                        orignal
                    
                    
                        через прокси нет
                    
                
                
                    
                        orignal
                    
                    
                        он присылает CONNECT и ты сам в прокси резолвишь
                    
                
                
                    
                        orignal
                    
                    
                        строка 442 HttpProxy.cpp
                    
                
                
                    
                        orignal
                    
                    
                        и далее
                    
                
                
                    
                        Vort
                    
                    
                        отфильтровал отмены и получил вот такую гистограмму при m_PacingTime = 2000  paste.i2pd.xyz/?6aae658eb6b5eae9#A8J58qAp3dpNeux1EjCQGRGDQvSvQGJSn2LiFkCqkxww  
                    
                
                
                    
                        Vort
                    
                    
                        стоит делать график для 1000 ?
                    
                
                
                    
                        orignal
                    
                    
                        стоит я думаю
                    
                
                
                    
                        Vort
                    
                    
                        ок
                    
                
                
                    
                        flumental
                    
                    
                        у меня тут софтина такая что она dns-запросы через себя протрахивает, при этом я могу ей сказать шли этот днс-запрос на сервер 1.1.1.1, пробросив его через http-прокси 2.2.2.2
                    
                
                
                
                    
                        Vort
                    
                    
                        среднее - 867
                    
                
                
                    
                        Vort
                    
                    
                        это я воткнул логирование в Stream::ScheduleSend после if (m_Status != eStreamStatusTerminated)
                    
                
                
                    
                        Vort
                    
                    
                        и в Stream::HandleSendTimer после if (ecode != boost::asio::error::operation_aborted)
                     
                
                
                    
                        Vort
                    
                    
                        и посчитал между ними разницу
                    
                
                
                    
                        orignal
                    
                    
                        так надо еще записать сколько заказывали
                    
                
                
                    
                        Vort
                    
                    
                        1000
                    
                
                
                    
                        Vort
                    
                    
                        потому что я поставил такой лимит, а алгоритм в этот лимит упирается
                    
                
                
                    
                        Vort
                    
                    
                        там всего несколько семплов с другой задержкой, я их выкидываю при построении гистораммы
                    
                
                
                    
                        orignal
                    
                    
                        короче 1 мс нормально для винды я так понимаю
                    
                
                
                    
                        Vort
                    
                    
                        ага
                    
                
                
                    
                        orignal
                    
                    
                        ну что я тогда добавляю #ifdef?
                    
                
                
                    
                        weko
                    
                    
                        orignal: как насчёт того, чтобы делать release canditate версии? чтобы перед релизом больше тестировалось всякого
                    
                
                
                    
                        orignal
                    
                    
                        и кто их будет собирать?
                    
                
                
                    
                        orignal
                    
                    
                        у R4SAS -а нет времени даже 2.53.1 собрать
                    
                
                
                    
                        weko
                    
                    
                        и то верно
                    
                
                
                    
                        weko
                    
                    
                        но просто тогда и меньше подверсий с фиксами надо будет делать
                    
                
                
                    
                        weko
                    
                    
                        потому что всякие критичные проблемы будут всплывать в rc
                    
                
                
                    
                        orignal
                    
                    
                        во первых некому собирать во вторых мало кто станет тестировать
                    
                
                
                    
                        orignal
                    
                    
                        а промежуточные я и так все время ставлю
                    
                
                
                    
                        orignal
                    
                    
                        и основные проблемы влазят
                    
                
                
                    
                        weko
                    
                    
                        в 2.53.1 тогда что?
                    
                
                
                    
                        Vort
                    
                    
                        "<~orignal> ну что я тогда добавляю #ifdef?" да добавить то можно, но без дальнейшей модернизации кода эффекта от этого не будет
                    
                
                
                    
                        Vort
                    
                    
                        weko: есть сборки в GHA
                    
                
                
                    
                        weko
                    
                    
                        я имею ввиду какие изменения там
                    
                
                
                    
                        Vort
                    
                    
                        я оттуда и качаю всё время )
                    
                
                
                    
                        Vort
                    
                    
                        а для этого список коммитов есть
                    
                
                
                    
                        Vort
                    
                    
                        хотя бы просто на регрессии тестировать - уже полезно
                    
                
                
                    
                        orignal
                    
                    
                        это понятно
                    
                
                
                    
                        orignal
                    
                    
                        что надо больше отсылать
                    
                
                
                    
                        flumental
                    
                    
                        получается то, что называется прозрачные прокси, которые работают, а приложение об этом не знает, не может в i2p
                    
                
                
                    
                        orignal
                    
                    
                        так надо там днс запилить
                    
                
                
                    
                        flumental
                    
                    
                        а как? у .i2p же нету айпи
                    
                
                
                    
                        orignal
                    
                    
                        маппированием
                    
                
                
                    
                        orignal
                    
                    
                        на запрос адреса xxx.i2p выдается IP адрес а внтури пишется в таблицу
                    
                
                
                    
                        orignal
                    
                    
                        при обращении к нему идет на раельный I2P адрес
                    
                
                
                    
                        Vort
                    
                    
                        onon: надо ещё учесть, что при полноценной нагрузке (допустим, локалхостовой), таймеры могут начать работать не так, как ожидается
                    
                
                
                    
                        Vort
                    
                    
                        то есть, если при слабой нагрузке таймер тянет 1мс задержки, то при сильной нагрузке неизвестно что будет - это надо тестировать
                    
                
                
                    
                        Vort
                    
                    
                        либо делать код, который адаптируется к той фигне, что творит таймер, независимо от того, что именно
                    
                
                
                    
                        orignal
                    
                    
                        это более правильно
                    
                
                
                    
                        orignal
                    
                    
                        надо замерять фактическое время
                    
                
                
                    
                        Vort
                    
                    
                        локалхостовая нагрузка - это хороший стресс-тест алгоритма - многие возможные проблемы с его помощью можно выловить, не дожидаясь пока они вылезут в реальной сети
                    
                
                
                    
                        orignal
                    
                    
                        и исходя из этого выдавать
                    
                
                
                    
                        onon
                    
                    
                        Это уже вне моей компетенции, что таймер работает не так, как заявлено.
                    
                
                
                    
                        orignal
                    
                    
                        вообще то гарантируется везде только 10 мс
                    
                
                
                    
                        onon
                    
                    
                        Я вам сделал классный алгоритм, который неплохо держит стабильную скорость.
                    
                
                
                    
                        onon
                    
                    
                        И адаптируется к разным условиям
                    
                
                
                    
                        onon
                    
                    
                        И работает и на коротких и на очень длинных туннелях
                    
                
                
                    
                        onon
                    
                    
                        И скорость может выдавать как в торе
                    
                
                
                    
                        orignal
                    
                    
                        ну а теперь скажи что делать если таймер не тянет
                    
                
                
                    
                        onon
                    
                    
                        Тыжпрограммист, сделай что нибудь =)
                    
                
                
                    
                        onon
                    
                    
                        Да, я уже примерно представляю, как можно сделать
                    
                
                
                    
                        onon
                    
                    
                        Но начинать не буду
                    
                
                
                    
                        orignal
                    
                    
                        ну я тоже понимаю что надо
                    
                
                
                    
                        Vort
                    
                    
                        для гарантий существуют операционные системы реального времени
                    
                
                
                    
                        Vort
                    
                    
                        винда / линукс - это, скорее, "жрите, что дают"
                    
                
                
                    
                        Vort
                    
                    
                        тут стоит делать измерения при различных условиях и на их основе строить алгоритмы
                    
                
                
                    
                        Vort
                    
                    
                        учитывая, сколько хорошего софта под винду и линукс сделано - это вполне реально
                    
                
                
                    
                        Vort
                    
                    
                        100% ситуаций покрыть не получится, но это и не страшно. главное, чтобы основные (+ легко тестируемые) сценарии были проработаны
                    
                
                
                    
                        Vort
                    
                    
                        классный алгоритм - это классно, но если при упоре в ядро софт начинает глючить - то это уже не так хорошо
                    
                
                
                    
                        Vort
                    
                    
                        это не какое-это экзотическое придирчивое требование - это обычная реальность
                    
                
                
                    
                        orignal
                    
                    
                        Vort так ставить 1 мс или нет для винды?
                    
                
                
                    
                        Vort
                    
                    
                        я тщательно не смотрел, какие последствия сейчас такого ограничения для алгоритма
                    
                
                
                    
                        Vort
                    
                    
                        скорее всего, никаких и можно ставить
                    
                
                
                    
                        Vort
                    
                    
                        там всё равно по факту 1мс ставится, как я понял, просто алгоритм об этом не в курсе :)
                    
                
                
                    
                        orignal
                    
                    
                        onon а сколько это будет в цифрах по скорости 
                    
                
                
                    
                        orignal
                    
                    
                        когда у на 1 мс минимум?
                    
                
                
                    
                        Vort
                    
                    
                        а вот те 1700 KB/s и будут, скорее всего
                    
                
                
                    
                        Vort
                    
                    
                        я потом это число в коде уже нашёл и понял, к чему дело идёт =)
                    
                
                
                    
                        Vort
                    
                    
                        "как в торе" будет
                    
                
                
                    
                        weko
                    
                    
                        запустил тестнет на последнем коммите
                    
                
                
                    
                        weko
                    
                    
                        ssu2-only
                    
                
                
                    
                        weko
                    
                    
                        во первых хочу за пару часов увидеть какой TCSR в идеальных условиях
                    
                
                
                    
                        weko
                    
                    
                        во вторых проверю скорость при ssu2
                    
                
                
                    
                        weko
                    
                    
                        200 роутеров
                    
                
                
                    
                        Vort
                    
                    
                        ну и за багами и глюками следи
                    
                
                
                    
                        Vort
                    
                    
                        некоторые нормально только через тестовую сеть можно выловить
                    
                
                
                    
                        weko
                    
                    
                        так. 40-50 Mbit/s при 0 хопов получается
                    
                
                
                    
                        Vort
                    
                    
                        помнишь показатели прошлых тестов?
                    
                
                
                    
                        weko
                    
                    
                        ну типо 1-2 мбит вроде
                    
                
                
                    
                        weko
                    
                    
                        а не там тоже самое было
                    
                
                
                    
                        Vort
                    
                    
                        а твои 40-50Mbit/s - это, похоже, 1700/0.25*8 :))
                    
                
                
                    
                        weko
                    
                    
                        вспомнил
                    
                
                
                    
                        weko
                    
                    
                        20-25 мбит при упоре в процессор
                    
                
                
                    
                        weko
                    
                    
                        но это без пинга
                    
                
                
                    
                        weko
                    
                    
                        тестировать же надо с пингом
                    
                
                
                    
                        Vort
                    
                    
                        а сейчас упор в процессор был? подозреваю, что только частично
                    
                
                
                    
                        Vort
                    
                    
                        столько всего проверить надо... но не буду мешать
                    
                
                
                    
                        Vort
                    
                    
                        надо для начала базовые показатели собрать
                    
                
                
                    
                        weko
                    
                    
                        не было
                    
                
                
                    
                        Vort
                    
                    
                        понятно. сейчас в коде кое какой лимит стоит...
                    
                
                
                    
                        weko
                    
                    
                        какой же
                    
                
                
                    
                        Vort
                    
                    
                        на частоту вызова таймера. который отправляет по одному пакету за вызов
                    
                
                
                    
                        Vort
                    
                    
                        4000 раз в секунду, а пакеты по 1700 байт (вроде). 
                    
                
                
                    
                        Vort
                    
                    
                        вот обсуждаем необходимость отправлять по нескольку пакетов за раз )
                    
                
                
                    
                        weko
                    
                    
                        да похоже в это и упираюсь
                    
                
                
                    
                        orignal
                    
                    
                        ну так лучше стал SSU2?
                    
                
                
                    
                        weko
                    
                    
                        это хуй знает
                    
                
                
                    
                        weko
                    
                    
                        я ж давно этим занимался не помню какие предположения были
                    
                
                
                    
                        weko
                    
                    
                        ну вот ssu2 only даёт нормальную скорость на 0 хопов
                    
                
                
                    
                        weko
                    
                    
                        с tcsr ещё выясним
                    
                
                
                    
                        weko
                    
                    
                        щас вот пинг поставим и выясним
                    
                
                
                    
                        orignal
                    
                    
                        так в 0 хопов он не используется))
                    
                
                
                    
                        weko
                    
                    
                        почему это
                    
                
                
                    
                        weko
                    
                    
                        1 коннект всё равно используется
                    
                
                
                    
                        orignal
                    
                    
                        в 0 хопах траспорт не зайдествован
                    
                
                
                    
                        weko
                    
                    
                        так или иначе
                    
                
                
                    
                        weko
                    
                    
                        как это
                    
                
                
                    
                        orignal
                    
                    
                        если начало и конец тоннеля на одном роутере
                    
                
                
                    
                        orignal
                    
                    
                        если на разных то да
                    
                
                
                    
                        weko
                    
                    
                        так не на одном конечно
                    
                
                
                    
                        weko
                    
                    
                        на разных стоят
                    
                
                
                    
                        weko
                    
                    
                        задержка 30 мс, 0 хопов. 12-24 мбит/c
                    
                
                
                    
                        weko
                    
                    
                        во среднее показало. 20
                    
                
                
                    
                        weko
                    
                    
                        ставлю 3
                    
                
                
                    
                        weko
                    
                    
                        3 мбит/c
                    
                
                
                    
                        Vort
                    
                    
                        при пинге 3мс что ли? не понял условий теста
                    
                
                
                    
                        weko
                    
                    
                        30 мс
                    
                
                
                    
                        Vort
                    
                    
                        а, три хопа
                    
                
                
                    
                        weko
                    
                    
                        это не пинг а зажержка при чём
                    
                
                
                    
                        weko
                    
                    
                        doas tc qdisc add dev lo root netem delay 30ms
                    
                
                
                    
                        weko
                    
                    
                        пинг же 60
                    
                
                
                    
                        weko
                    
                    
                        64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=60.0 ms
                    
                
                
                    
                        Vort
                    
                    
                        а вот тут уже может быть упор в окно
                    
                
                
                    
                        weko
                    
                    
                        надо окно увеличить
                    
                
                
                    
                        weko
                    
                    
                        но сразу скажу - раньше было куда хуже
                    
                
                
                    
                        weko
                    
                    
                        ну как
                    
                
                
                    
                        weko
                    
                    
                        было 1-2 максимум
                    
                
                
                    
                        Vort
                    
                    
                        weko: в чате были ссылки на новые версии алгоритма
                    
                
                
                    
                        Vort
                    
                    
                        с увеличенным окном как раз
                    
                
                
                    
                        weko
                    
                    
                        так там одно число поменят
                    
                
                
                    
                        weko
                    
                    
                        ь
                    
                
                
                    
                        weko
                    
                    
                        нет?
                    
                
                
                    
                        Vort
                    
                    
                        и ещё одна версия с отправкой 6 пакетов за тик таймера
                    
                
                
                    
                        Vort
                    
                    
                        там дофига поменяно в том коде
                    
                
                
                    
                        Vort
                    
                    
                        только для совместимости с последним коммитом в этих версиях надо будет один нолик удалить
                    
                
                
                    
                        Vort
                    
                    
                        компилер ругнётся - поймешь, где
                    
                
                
                    
                        weko
                    
                    
                        да я пока проверю то, что в основной ветке
                    
                
                
                    
                        Vort
                    
                    
                        окей
                    
                
                
                    
                        weko
                    
                    
                        7.76 Mbits/sec
                    
                
                
                    
                        weko
                    
                    
                        но какие то нестабильные результатф
                    
                
                
                    
                        Vort
                    
                    
                        иногда скорость в 0 сбрасывается кратковременно что ли?
                    
                
                
                    
                        weko
                    
                    
                        пример
                    
                
                
                    
                        weko
                    
                    
                        [  5]   0.00-1.00   sec  0.00 Bytes  0.00 bits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   3.00-4.00   sec   640 KBytes  5.24 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   4.00-5.00   sec  1.00 MBytes  8.39 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   5.00-6.00   sec  1.50 MBytes  12.6 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   6.00-7.00   sec   512 KBytes  4.19 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   7.00-8.00   sec  1.00 MBytes  8.39 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   8.00-9.00   sec   896 KBytes  7.34 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]   9.00-10.00  sec  1.88 MBytes  15.7 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]  10.00-11.00  sec   640 KBytes  5.24 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]  11.00-12.00  sec  1.25 MBytes  10.5 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]  12.00-13.00  sec   640 KBytes  5.24 Mbits/sec                  
                    
                
                
                    
                        weko
                    
                    
                        [  5]  13.00-14.00  sec  1.00 MBytes  8.37 Mbits/sec
                    
                
                
                    
                        weko
                    
                    
                        это на стороне reciever
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: волна
                    
                
                
                    
                        onon
                    
                    
                        Ох уж эти любители iperf-а
                    
                
                
                    
                        Vort
                    
                    
                        apophis: но не рвануло же :D
                    
                
                
                    
                        weko
                    
                    
                        onon: ок могу самописную тулзу запустить
                    
                
                
                    
                        relaybot
                    
                    
                        13apophis: это плюс
                    
                
                
                    
                        weko
                    
                    
                        запустил. примерно тоже самое
                    
                
                
                    
                        weko
                    
                    
                        и тут вот проблема есть такая
                    
                
                
                    
                        weko
                    
                    
                        фактическая задержка между отправкой данных и из полученем 4-6 секунд
                    
                
                
                    
                        weko
                    
                    
                        !!!!
                    
                
                
                    
                        onon
                    
                    
                        И догадайся почему
                    
                
                
                    
                        weko
                    
                    
                        потому что очереди
                    
                
                
                    
                        onon
                    
                    
                        Нет, потому что loss-based
                    
                
                
                    
                        onon
                    
                    
                        А у тебя дропов нет
                    
                
                
                    
                        weko
                    
                    
                        как это нет
                    
                
                
                    
                        weko
                    
                    
                        есть же
                    
                
                
                    
                        weko
                    
                    
                        по крайней мере были
                    
                
                
                    
                        onon
                    
                    
                        А delay в той версии слишком грубый
                    
                
                
                    
                        weko
                    
                    
                        Server start send data
                    
                
                
                    
                        weko
                    
                    
                        378KB/s; min:721ms; max:4957ms
                    
                
                
                    
                        weko
                    
                    
                        1396KB/s; min:4289ms; max:5557ms
                    
                
                
                    
                        weko
                    
                    
                        1409KB/s; min:4062ms; max:6514ms
                    
                
                
                    
                        weko
                    
                    
                        1067KB/s; min:3968ms; max:5326ms
                    
                
                
                    
                        weko
                    
                    
                        852KB/s; min:3947ms; max:5549ms
                    
                
                
                    
                        weko
                    
                    
                        834KB/s; min:5083ms; max:6220ms
                    
                
                
                    
                        weko
                    
                    
                        1066KB/s; min:5106ms; max:7120ms
                    
                
                
                    
                        weko
                    
                    
                        983KB/s; min:5124ms; max:6180ms
                    
                
                
                    
                        weko
                    
                    
                        1213KB/s; min:4684ms; max:6732ms
                    
                
                
                    
                        weko
                    
                    
                        978KB/s; min:4102ms; max:5782ms
                    
                
                
                    
                        weko
                    
                    
                        1218KB/s; min:4274ms; max:5162ms
                    
                
                
                    
                        weko
                    
                    
                        1925KB/s; min:4111ms; max:5410ms
                    
                
                
                    
                        weko
                    
                    
                        1329KB/s; min:3873ms; max:5149ms
                    
                
                
                    
                        weko
                    
                    
                        каждые 2000 кбайт данные
                    
                
                
                    
                        weko
                    
                    
                        если поставить период меньше, видно вот такие всплески 55652KB/s; min:4745ms; max:5031ms
                    
                
                
                    
                        onon
                    
                    
                        Это ты в буфер сокета наливаешь
                    
                
                
                    
                        onon
                    
                    
                        Качай файл
                    
                
                
                    
                        weko
                    
                    
                        это тоже делал... щас
                    
                
                
                    
                        weko
                    
                    
                        а, тут же ещё в ssu2 окно ограничено.
                    
                
                
                    
                        weko
                    
                    
                        сделал ntcp2. теперь лиссет не находит. прекрасно
                    
                
                
                    
                        weko
                    
                    
                        о, нашёл
                    
                
                
                    
                        weko
                    
                    
                        ха!
                    
                
                
                    
                        weko
                    
                    
                        как не странно, проблема в SSU2
                    
                
                
                    
                        weko
                    
                    
                        38.0 Mbits/sec 
                    
                
                
                    
                        orignal
                    
                    
                        почему странно?
                    
                
                
                    
                        onon
                    
                    
                        А ещё на NTCP2 bbr включи
                    
                
                
                    
                        weko
                    
                    
                        orignal: да как раз не странно/
                    
                
                
                    
                        weko
                    
                    
                        5730KB/s; min:990ms; max:1184ms
                    
                
                
                    
                        weko
                    
                    
                        большая задержка, всё равно
                    
                
                
                    
                        onon
                    
                    
                        Это какой алгоритм?
                    
                
                
                    
                        weko
                    
                    
                        всё по дефолту из последнего коммита, только повысил окно до 4096
                    
                
                
                    
                        weko
                    
                    
                        максимальное
                    
                
                
                    
                        onon
                    
                    
                        Нельзя на последнем коммите окно разгонять
                    
                
                
                    
                        weko
                    
                    
                        почему это
                    
                
                
                    
                        weko
                    
                    
                        работает
                    
                
                
                    
                        onon
                    
                    
                        Потому что там dalay CC нету
                    
                
                
                    
                        onon
                    
                    
                        Вернее есть, но он условный
                    
                
                
                    
                        onon
                    
                    
                        Только на совсем жесткие случаи реагирует
                    
                
                
                    
                        onon
                    
                    
                        А если RTT растёт плавно, он полагается только на loss
                    
                
                
                    
                        onon
                    
                    
                        А лосей у тебя нету
                    
                
                
                    
                        weko
                    
                    
                        ну потому что идеальные условия/
                    
                
                
                    
                        onon
                    
                    
                        Если на реальной сети такое попробуешь сделать, все промежуточные узлы лягут под нагрузкой
                    
                
                
                    
                        weko
                    
                    
                        так это понятно
                    
                
                
                    
                        weko
                    
                    
                        я тебе говорю что ssu2 косячит значительно. 
                    
                
                
                    
                        onon
                    
                    
                        Я тоже это говорю
                    
                
                
                    
                        weko
                    
                    
                        теже настройки, но на ntcp2 работают в разы лучше
                    
                
                
                    
                        weko
                    
                    
                        но проблема с задержкой всё равно есть
                    
                
                
                    
                        onon
                    
                    
                        Последний вариант, что я скидывал, собирай. Там с этим дела сильно лучше.
                    
                
                
                    
                        onon
                    
                    
                        Только поставь отправку по 1му пакету, наверное
                    
                
                
                    
                        weko
                    
                    
                        if (m_IsTerminated) return;
                    
                
                
                    
                        weko
                    
                    
                        bool isSemiFull = m_SendQueue.size () > NTCP2_MAX_OUTGOING_QUEUE_SIZE/2;
                     
                
                
                    
                        weko
                    
                    
                        for (auto it: msgs)
                    
                
                
                    
                        weko
                    
                    
                        if (isSemiFull && it->onDrop)
                    
                
                
                    
                        weko
                    
                    
                        it->Drop (); // drop earlier because we can handle it
                    
                
                
                    
                        weko
                    
                    
                        else
                    
                
                
                    
                        weko
                    
                    
                        m_SendQueue.push_back (std::move (it));
                    
                
                
                    
                        weko
                    
                    
                        дропаются все пакеты при привышении очереди? чот ну такое, разве нет?
                    
                
                
                    
                        weko
                    
                    
                        точнее когда половины достигают
                    
                
                
                    
                        onon
                    
                    
                        Не все же, а только  it->onDrop
                    
                
                
                    
                        weko
                    
                    
                        ну а это условие когда?
                    
                
                
                    
                        onon
                    
                    
                        Это у Лося полный список проси. Знаю что тесты туннелей туда входят
                    
                
                
                    
                        onon
                    
                    
                        Если очередь забита, тест дропается, мы туннель помечаем ка плохой
                    
                
                
                    
                        onon
                    
                    
                        Логика такая, емнип.
                    
                
                
                    
                        weko
                    
                    
                        так узнаем это только если очередь забита на первом транспорте
                    
                
                
                    
                        weko
                    
                    
                        ну ХЗХЗ
                    
                
                
                    
                        orignal
                    
                    
                        onDrop при запросе роутеров 
                    
                
                
                    
                        weko
                    
                    
                        не понял
                    
                
                
                    
                        orignal
                    
                    
                        мы запросили роутер
                    
                
                
                    
                        orignal
                    
                    
                        если сообщение дропнулось
                    
                
                
                    
                        orignal
                    
                    
                        вызывается onDrop и мы сразу знаем что запрос зафейлился
                    
                
                
                    
                        orignal
                    
                    
                        не ожидая таймута
                    
                
                
                    
                        weko
                    
                    
                        так получается условие срабатывает в конкретном месте только если задан onDrop
                    
                
                
                    
                        orignal
                    
                    
                        естественно
                    
                
                
                    
                        weko
                    
                    
                        ну где дропаем
                    
                
                
                    
                        orignal
                    
                    
                        а если не установлен ничего не вызовется
                    
                
                
                    
                        weko
                    
                    
                        так а если он не зада, дропаться не будет
                    
                
                
                    
                        orignal
                    
                    
                        обычно в траспортах 
                    
                
                
                    
                        orignal
                    
                    
                        когда не можем соединиться
                    
                
                
                    
                        weko
                    
                    
                        так должно всё дропаться
                    
                
                
                    
                        weko
                    
                    
                        всё что не влезает
                    
                
                
                    
                        orignal
                    
                    
                        и там тоже
                    
                
                
                    
                        orignal
                    
                    
                        кстати правильная мысль
                    
                
                
                    
                        orignal
                    
                    
                        запрос на тоннель тоже надо onDrop сделать
                    
                
                
                    
                        weko
                    
                    
                        давно это писал и даже у меня локально было
                    
                
                
                    
                        weko
                    
                    
                        orignal: всё что не влезло в очередь надо дропать просто
                    
                
                
                    
                        orignal
                    
                    
                        так и дропается
                    
                
                
                    
                        weko
                    
                    
                        так только если onDrop задан
                    
                
                
                    
                        weko
                    
                    
                        а задан он только в некоторых случаях, как я понял
                    
                
                
                    
                        weko
                    
                    
                        и данные в него не входят
                    
                
                
                    
                        weko
                    
                    
                        так?
                    
                
                
                    
                        orignal
                    
                    
                        нет
                    
                
                
                    
                        orignal
                    
                    
                        дропрается всегда когда надо
                    
                
                
                    
                        orignal
                    
                    
                        onDrop вызывается когда задан
                    
                
                
                    
                        orignal
                    
                    
                        а если не задан то не вызывается
                    
                
                
                    
                        weko
                    
                    
                        судя по коду не дропается в ином случае
                    
                
                
                    
                        onon
                    
                    
                        Поищи по логам, я где-то код REDа для NTCP2 скидывал, поставь себе и радуйся.
                    
                
                
                    
                        orignal
                    
                    
                        да это странный код
                    
                
                
                    
                        weko
                    
                    
                        так он для всех очередей сразу
                    
                
                
                    
                        weko
                    
                    
                        а тут вопрос одной очереди
                    
                
                
                    
                        orignal
                    
                    
                        но тут смотри какое дело Drop это просто вызов onDrop
                    
                
                
                    
                        weko
                    
                    
                        orignal: ха. а самого дропа нету
                    
                
                
                    
                        weko
                    
                    
                        а, етсь
                    
                
                
                    
                        weko
                    
                    
                        просто пакет не идёт никуда
                    
                
                
                    
                        orignal
                    
                    
                        передалеать надо это
                    
                
                
                    
                        orignal
                    
                    
                        я переделаю
                    
                
                
                    
                        orignal
                    
                    
                        хорошая находка
                    
                
                
                    
                        weko
                    
                    
                        у меня было сделано что цикл рабоает до тех пока очередь не превысит максимальную. нужно добавить что у всех остальнх вызывается Drop если можно
                    
                
                
                    
                        weko
                    
                    
                        и никакого Terminate
                    
                
                
                    
                        weko
                    
                    
                        потому что никогда это условия не сможет сработаь
                    
                
                
                    
                        orignal
                    
                    
                        нет там все проавильно
                    
                
                
                    
                        orignal
                    
                    
                        написан же комментарий 
                    
                
                
                    
                        orignal
                    
                    
                        что мы дропаем потому что знаем что с этим сделать
                    
                
                
                    
                        weko
                    
                    
                        ну а где не знаем всё равно должны дропать
                    
                
                
                    
                        weko
                    
                    
                        чтобы не закрывать транспорт как минимум
                    
                
                
                    
                        orignal
                    
                    
                        там дропает на половине
                    
                
                
                    
                        weko
                    
                    
                        ну это просто константу на 2 поделить
                    
                
                
                    
                        onon
                    
                    
                        Раз уж ты туда полез, может посмотришь на RED, что я скидывал?
                    
                
                
                    
                        orignal
                    
                    
                        попозже
                    
                
                
                    
                        orignal
                    
                    
                        счас отойду
                    
                
                
                    
                        weko
                    
                    
                        onon: а у тебя RED для одной очереди или роутера в целом? 
                    
                
                
                    
                        onon
                    
                    
                        Для ntcp
                    
                
                
                    
                        onon
                    
                    
                        Для SSU  там херня какая-то сейчас
                    
                
                
                    
                        weko
                    
                    
                        ок это поняо
                    
                
                
                    
                        weko
                    
                    
                        я про другое спросил
                    
                
                
                    
                        weko
                    
                    
                        у тебя он для одной очереди или при привышении скорости на роутере
                    
                
                
                    
                        onon
                    
                    
                        Для одной очереди
                    
                
                
                    
                        weko
                    
                    
                        вот теперь понятно
                    
                
                
                    
                        onon
                    
                    
                        Там где ты смотрел, там дропает
                    
                
                
                    
                        onon
                    
                    
                         если больше половины
                    
                
                
                    
                        weko
                    
                    
                        там вообще в большестве случаев не дропает
                    
                
                
                    
                        weko
                    
                    
                        как я понял
                    
                
                
                    
                        onon
                    
                    
                        И чем ближе к максимальному значению, тем выше вероятность дропа
                    
                
                
                    
                        weko
                    
                    
                        потому что обычно onDrop нету
                    
                
                
                    
                        weko
                    
                    
                        onon: а, это как у тебя сделано
                    
                
                
                    
                        onon
                    
                    
                        Там тоже Drop вызывался вроде
                    
                
                
                    
                        weko
                    
                    
                        да но если onDrop нету то пакет не дропается
                    
                
                
                    
                        weko
                    
                    
                        а для данных его как раз нету
                    
                
                
                    
                        onon
                    
                    
                        Ну значит он не работает
                    
                
                
                    
                        weko
                    
                    
                        лось уже сказал что переделает но я могу
                    
                
                
                    
                        weko
                    
                    
                        onon: так а я о чём
                    
                
                
                    
                        weko
                    
                    
                        onon: а у тебя линейная зависимость вероятности от длины очереди?
                    
                
                
                    
                        onon
                    
                    
                        Нет, там WRED
                    
                
                
                    
                        onon
                    
                    
                        Если импульсно, то не дропает
                    
                
                
                    
                        weko
                    
                    
                        ну да, может импульс быть тк tcp
                    
                
                
                    
                        onon
                    
                    
                        А я дальше по коду и не смотрел, Drop вызывается, значит пакет должен дропаться...
                    
                
                
                    
                        onon
                    
                    
                        Логично же
                    
                
                
                    
                        weko
                    
                    
                        согласен
                    
                
                
                    
                        weko
                    
                    
                        фактически дроп это НЕ перенос пакета из msgs в m_SendQueue
                    
                
                
                    
                        weko
                    
                    
                        m_SendQueue.push_back (std::move (it));/
                    
                
                
                    
                        weko
                    
                    
                        я думаю я понял в чём была основная проблема и моей реализации тоже...
                    
                
                
                    
                        weko
                    
                    
                        надо чаще делать SendQueue
                    
                
                
                    
                        weko
                    
                    
                        импульс может прийти больше ращмера очереди, и всё что не вошло дропается. хотя возможно транспорт справилсся бы
                    
                
                
                    
                        onon
                    
                    
                        Нет, такое лучше дропать
                    
                
                
                    
                        `
                    
                    
                        Посоны, посоны. Так что с 2.53.0? Я тут залётами бываю, какие-то проблемы видел. 2.53.0 ставить или корректирующий апдэйт ждать?
                    
                
                
                    
                        weko
                    
                    
                        <onon> Последний вариант, что я скидывал, собирай. Там с этим дела сильно лучше.
                    
                
                
                    
                        weko
                    
                    
                        а ты проверял? 
                    
                
                
                    
                        weko
                    
                    
                        я считаю задержку так: при отправке сую таймстемп, при получении вычитаю полученное время из текущего
                    
                
                
                    
                        onon
                    
                    
                        Да, там алгоритм старается минимизировать задержку
                    
                
                
                    
                        weko
                    
                    
                        каким образом?
                    
                
                
                    
                        onon
                    
                    
                        Тебе весь алгоритм расписать?
                    
                
                
                    
                        weko
                    
                    
                        нет просто на чём он основывается
                    
                
                
                    
                        onon
                    
                    
                        Если задержка начинает расти - дропает окно
                    
                
                
                    
                        weko
                    
                    
                        понял
                    
                
                
                    
                        onon
                    
                    
                        Из-за уменьшенной скорости, RTT возвращается к норме.
                    
                
                
                    
                        onon
                    
                    
                        Потом постепенно окно разгоняется, RTT начинает расти, окно снова схлопывается
                    
                
                
                    
                        onon
                    
                    
                        И так по кругу
                    
                
                
                    
                        weko
                    
                    
                        и ещё кстати окно бесконечно растёт даже когда на полную не грузим стрим
                    
                
                
                    
                        onon
                    
                    
                        Не понял
                    
                
                
                    
                        weko
                    
                    
                        ну вот я поставил скорость отправка в 1000 кбайт в секунду, а окно растёт выше чем нужно для такой скорости
                    
                
                
                    
                        onon
                    
                    
                        Ну и нор
                    
                
                
                    
                        onon
                    
                    
                        м
                    
                
                
                    
                        weko
                    
                    
                        так если нагрузка вырастет резко, то мы всё отсылать будем
                    
                
                
                    
                        weko
                    
                    
                        хотя многое дропнется
                    
                
                
                    
                        onon
                    
                    
                        И как ты предлагаешь такое обрабатывать
                    
                
                
                    
                        weko
                    
                    
                        ну не повышать окно когда не нужно
                    
                
                
                    
                        weko
                    
                    
                        если буфер отправки пустой, то не повышать
                    
                
                
                    
                        weko
                    
                    
                        вот и всё
                    
                
                
                    
                        onon
                    
                    
                        Ну если просто добавить такое условие - всё равно увеличивать будет, просто медленнее
                    
                
                
                    
                        onon
                    
                    
                        А как сделать правильно - это нужно подумать
                    
                
                
                    
                        weko
                    
                    
                        именно пустой буфер отправки после того как мы из него забрали что можно было
                    
                
                
                    
                        onon
                    
                    
                        TCP насколько я знаю такой фигнёй не страдает
                    
                
                
                    
                        weko
                    
                    
                        это значит что текущего окна хватает и повышать нет смысла
                    
                
                
                    
                        onon
                    
                    
                        Окно схлопывает только после некоторого времени неактивности
                    
                
                
                    
                        onon
                    
                    
                        Но потом-то у тебя в буфере данные появятся
                    
                
                
                    
                        onon
                    
                    
                        И ACK придёт
                    
                
                
                    
                        onon
                    
                    
                        И окно увеличится
                    
                
                
                    
                        weko
                    
                    
                        я сделал ограничение скорости в 1 МБ/c. получил получше задержку 350-600мс
                    
                
                
                    
                        weko
                    
                    
                        onon: появятся. но мы их сразу отошлём и если в буфере не останется, значит мы справляемсяю
                    
                
                
                    
                        weko
                    
                    
                        и повышать не надо
                    
                
                
                    
                        weko
                    
                    
                        вот и всё
                    
                
                
                    
                        weko
                    
                    
                        если же что-то остаётся, значит не справляемся и нужно повысить
                    
                
                
                    
                        onon
                    
                    
                        Ну сделай
                    
                
                
                    
                        onon
                    
                    
                        void Stream::HandleSendTimer
                    
                
                
                    
                        onon
                    
                    
                          if (m_WindowIncCounter && m_WindowSize < MAX_WINDOW_SIZE && !m_SendBuffer.IsEmpty ())
                    
                
                
                    
                        weko
                    
                    
                        onon: а твой алгоритм не поможет
                    
                
                
                    
                        weko
                    
                    
                        потому RTT тут не настолько высокий 
                    
                
                
                    
                        onon
                    
                    
                        Я в курсе
                    
                
                
                    
                        weko
                    
                    
                        он не больще 600, а задержка 1000
                    
                
                
                    
                        onon
                    
                    
                        Он и не рассчитан на локальную работу
                    
                
                
                    
                        weko
                    
                    
                        так эмулирована задержка в 30 мс
                    
                
                
                    
                        weko
                    
                    
                        в чём вопрос то
                    
                
                
                    
                        weko
                    
                    
                        именно сами данные через секунду приходят, что гораздо больше чем должно быть
                    
                
                
                    
                        weko
                    
                    
                        а ещё похоже, что зависания стрримо тоже не делись никуда
                    
                
                
                    
                        onon
                    
                    
                        weko: так эмулирована задержка в 30 мс
                    
                
                
                    
                        onon
                    
                    
                        Постоянная? Без колебаний?
                    
                
                
                    
                        onon
                    
                    
                        На реальной сети, промежуточные роутеры имеют свой буфер
                    
                
                
                    
                        weko
                    
                    
                        ну, а тут нет что ли?
                    
                
                
                    
                        weko
                    
                    
                        <onon> Постоянная? Без колебаний?
                    
                
                
                    
                        weko
                    
                    
                        да, тем более должно быть нормально
                    
                
                
                    
                        weko
                    
                    
                        могу и колебания сделать
                    
                
                
                    
                        onon
                    
                    
                        И с 30 выросло до 1000?
                    
                
                
                    
                        weko
                    
                    
                        должно быть где 270
                    
                
                
                    
                        weko
                    
                    
                        где то
                    
                
                
                    
                        onon
                    
                    
                        Это значения из консоли роутера?
                    
                
                
                    
                        weko
                    
                    
                        450-600
                    
                
                
                    
                        weko
                    
                    
                        там должно быть 420
                    
                
                
                    
                        onon
                    
                    
                        Ты меня запутал
                    
                
                
                    
                        onon
                    
                    
                        То 30 то 450 то 420
                    
                
                
                    
                        onon
                    
                    
                        то 1000
                    
                
                
                    
                        weko
                    
                    
                        <onon> Это значения из консоли роутера?
                    
                
                
                    
                        weko
                    
                    
                        <weko> 450-600
                    
                
                
                    
                        weko
                    
                    
                        <weko> там должно быть 420
                    
                
                
                    
                        weko
                    
                    
                        а, это был вопрос. 
                    
                
                
                    
                        weko
                    
                    
                        RTT 450-600, задержка данных 1000
                    
                
                
                    
                        weko
                    
                    
                        1000-1200 
                    
                
                
                    
                        onon
                    
                    
                        Это норм
                    
                
                
                    
                        onon
                    
                    
                        Да
                    
                
                
                    
                        weko
                    
                    
                        почему
                    
                
                
                    
                        onon
                    
                    
                        Потому что любой CC перегружает роутеры
                    
                
                
                    
                        onon
                    
                    
                        Этот перегружает меньше
                    
                
                
                    
                        weko
                    
                    
                        нет, в CPU нет упора/
                    
                
                
                    
                        onon
                    
                    
                        Если сможешь, сделай bbr
                    
                
                
                    
                        weko
                    
                    
                        как
                    
                
                
                    
                        weko
                    
                    
                        я ушёл