| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
ZaStoGram source guards / guards (push) Failing after 29s
Build three ZaStoGram APKs / build (arm64-v8a, ZaStoGram-standalone-arm64-v8a, Arm64, arm64) (push) Failing after 1m51s
Build three ZaStoGram APKs / build (armeabi-v7a, ZaStoGram-standalone-armeabi-v7a, Armv7, armv7) (push) Failing after 1m57s
Build three ZaStoGram APKs / build (x86, ZaStoGram-standalone-x86, X86, x86) (push) Failing after 2m5s
Каждое соединение tgnet через WEB-прокси — отдельный поток на одном носителе, у релея которого одна FIFO на направление. Медиа и выгрузки забивали её, штатные таймеры tgnet (4–25 с и 5,5-секундная проверка первого ответа MTProxy) срабатывали у всех соединений разом, а переподключения ставили новые потоки в хвост той же очереди. Политика повторяет десктоп (c8120a7a6d) и лежит в WebProxyFlow без Android-кода. - Отдача: читатели сокетов только складывают байты в очередь потока (не больше 256 КиБ), кадры режет планировщик: сначала interactive, потом запросы download, потом upload по кругу кадрами по 64 КиБ; не больше 1 МиБ байт выгрузки без кредита релея, один upload-кадр после 16 кадров других классов. - Класс потока tgnet сообщает мосту сразу после connect() через JNI по локальному порту сокета; проверки прокси не трогаются. - Приём: download-потоки держат долю общего кредита 2 МиБ (256 КиБ–1 МиБ) вместо окна 4 МиБ. - Живость: соединение моста, молчащее дольше своего таймаута, спрашивает носитель: ждёт, пока запрос в очереди или по каналу идут чужие данные; мёртво после 8 с тишины после доставки, 30 с занятого канала или 64 с всего. Сторож моста один раз перезапускает весь носитель, если есть неподтверждённые байты и 20 с нет ничего от релея, или страница 30 с не присылает WELCOME. - Первый -404 на WEB-потоке только переподключает его; временный ключ сбрасывается на втором -404 до первого расшифрованного ответа. - Выгрузка через WEB идёт по двум соединениям вместо четырёх. - Диагностика web_proxy_carrier / web_proxy_receive_wait без секретов. Прямые, SOCKS и настоящие MTProxy-соединения не меняются. Страж check_web_proxy_isolation.py проверяет инварианты и собирает и запускает JVM-тесты политики (Tools/web_proxy_flow_tests). |
||
| .. | ||
| transport | ||
| wss | ||
| ApiScheme.cpp | ||
| ApiScheme.h | ||
| BuffersStorage.cpp | ||
| BuffersStorage.h | ||
| ByteArray.cpp | ||
| ByteArray.h | ||
| ByteStream.cpp | ||
| ByteStream.h | ||
| Config.cpp | ||
| Config.h | ||
| Connection.cpp | ||
| Connection.h | ||
| ConnectionSession.cpp | ||
| ConnectionSession.h | ||
| ConnectionsManager.cpp | ||
| ConnectionsManager.h | ||
| ConnectionSocket.cpp | ||
| ConnectionSocket.h | ||
| ConnectionSocketStateMachine.cpp | ||
| ConnectionSocketStateMachine.h | ||
| Datacenter.cpp | ||
| Datacenter.h | ||
| Defines.h | ||
| EventObject.cpp | ||
| EventObject.h | ||
| FileLog.cpp | ||
| FileLog.h | ||
| Handshake.cpp | ||
| Handshake.h | ||
| MTProtoScheme.cpp | ||
| MTProtoScheme.h | ||
| NativeByteBuffer.cpp | ||
| NativeByteBuffer.h | ||
| ProxyCheckInfo.cpp | ||
| ProxyCheckInfo.h | ||
| Request.cpp | ||
| Request.h | ||
| Timer.cpp | ||
| Timer.h | ||
| TLObject.cpp | ||
| TLObject.h | ||
| TLSHello.cpp | ||
| TLSHello.h | ||