BRouter Stage 2: resilient segment downloader (Range resume), verified on device
In-app download initially stalled at 7922 bytes — not the network: the phone reaches brouter.de fully (confirmed via Termux). BalDav was not in the device's split tunnel, so its traffic took the wrong path; fixed device-side. Over the now-working but bursty link the fixed 30s readTimeout tripped, so the downloader is rewritten to resume: HTTP Range (append to the .tmp, 206=resume / 200=restart), readTimeout 60s, up to 30 retries. Verified on device: E40_N45 (14.1 MB) downloaded by the app (done ~55s), a cross-tile trekking route on the app-downloaded tile (44.8 km / 316 m, 1.66s) matches the PC-pushed tile, and listTiles returns both. Remaining Stage 2 work: the tile-selection UI.
This commit is contained in:
parent
b4046841be
commit
d807e4ec3b
3 changed files with 63 additions and 19 deletions
|
|
@ -47,8 +47,13 @@ app data dir; профиль trekking (идея 2) и shortest (идея 1); л
|
|||
files/brouter/segments4 (путь детерминирован — качает сам Kotlin, без Rust-догадок): команды
|
||||
`dltile:<tile>`/`listtiles` в processBrouterCommand, прогресс/статус в brouter_dl_<tile>.json.
|
||||
Rust-реле: `brouter_download_tile`/`brouter_download_status`/`brouter_list_tiles`. JS:
|
||||
`BRouter.downloadTile/downloadStatus/listTiles/downloadTileAndWait`. ОСТАЛОСЬ: UI-экран выбора
|
||||
тайлов по региону + сквозной тест на устройстве (скачать → офлайн-маршрут).
|
||||
`BRouter.downloadTile/downloadStatus/listTiles/downloadTileAndWait`.
|
||||
ПРОВЕРЕНО НА УСТРОЙСТВЕ 2026-09-09: E40 (14.1 МБ) скачан самим BalDav (done за ~55с), маршрут на
|
||||
скачанном тайле — кросс-тайл trekking 44.8км/316м за 1.66с (метрики = ПК-версии, тайл валиден),
|
||||
listTiles отдаёт оба. Прежний стоп на 7922 байтах был из-за того, что BalDav не входил в
|
||||
сплит-туннель устройства (НЕ сеть/код), — исправлено на устройстве. Загрузчик сделан устойчивым к
|
||||
рывковой связи: HTTP Range-докачка (продолжает с места обрыва), readTimeout 60с, до 30 попыток.
|
||||
ОСТАЛОСЬ: UI-экран выбора/загрузки тайлов по региону.
|
||||
|
||||
## Stage 3 — Идея 2: оффлайн-планирование по опорным точкам
|
||||
**Goal:** тап опорных точек → дорожный маршрут trekking → существующий предпросмотр/профиль.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue