Pekka Enberg
1f79fbc22c
Merge 'Partial sync basic' from Nikita Sivukhin
...
This PR implements basic support for partial sync. Right now the scope
is limited to only `:memory:` IO and later will be properly expanded to
the file based IO later.
The main addition is `PartialDatabaseStorage` which make request to the
remote server for missing local pages on demand.
The main change is that now tursodatabase JS bindings accept optional
"external" IO event loop which in case of sync will drive `ProtocolIo`
internal work associated with remote page fetching tasks.
Closes #3931
2025-11-13 16:38:04 +02:00
Nikita Sivukhin
72089d2682
adjust compilation
2025-11-12 16:30:50 +04:00
Nikita Sivukhin
2d517f9fd7
use sparse io fir partial sync in case when file is used
2025-11-12 14:20:26 +04:00
Nikita Sivukhin
d519945098
make ArenaBuffer unsafe Send + Sync
2025-11-12 10:54:40 +04:00
Nikita Sivukhin
02275a6fa1
fix js bindings
2025-11-12 10:53:25 +04:00
Nikita Sivukhin
98db727a99
integrate extra io stepping logic to the JS bindings
2025-11-12 10:53:25 +04:00
Nikita Sivukhin
d42b5c7bcc
wip
2025-11-12 10:53:25 +04:00
pedrocarlo
1db13889e3
Change Value::Text to use a Cow<'static, str> instead of Vec<u8>
2025-11-11 16:11:46 -03:00
Nikita Sivukhin
649fddedf6
remove unnecessary clone
2025-10-02 17:31:30 +04:00
Nikita Sivukhin
64389447e3
support defered sync in the bindings core
2025-10-02 16:17:36 +04:00
Nikita Sivukhin
3c0b04b530
fix clippy
2025-09-25 12:08:10 +04:00
Nikita Sivukhin
ddfa77997d
adjust sync package napi-rs code
2025-09-25 10:54:50 +04:00
Nikita Sivukhin
cfc8728774
fix clippy
2025-09-19 14:15:04 +04:00
Nikita Sivukhin
1d3c823c7b
wip
2025-09-19 13:19:30 +04:00
Nikita Sivukhin
66de28d84b
wip
2025-09-19 13:19:30 +04:00
Nikita Sivukhin
83303b8c5b
properly guard access to the sync engine with locks
2025-09-19 13:19:30 +04:00
Nikita Sivukhin
acc536d542
use global opfs IO in the sync
2025-09-19 13:19:30 +04:00
Nikita Sivukhin
527d0cb1f3
expose revision in the stats method
2025-09-15 10:56:13 +04:00
Nikita Sivukhin
1a4d334e47
fix clippy and remove old action yaml
2025-09-11 00:03:01 +04:00
Nikita Sivukhin
d55026f84f
opfs for sync in one commit!
2025-09-10 22:35:57 +04:00