Skip to content

Commit d748b90

Browse files
committed
Periodic sync support
1 parent 9abc061 commit d748b90

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/lib.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ fn is_remote_path(path: &str) -> bool {
1919
}
2020

2121
#[pyfunction]
22-
#[pyo3(signature = (database, isolation_level="DEFERRED".to_string(), check_same_thread=true, uri=false, sync_url=None, auth_token="", encryption_key=None))]
22+
#[pyo3(signature = (database, isolation_level="DEFERRED".to_string(), check_same_thread=true, uri=false, sync_url=None, sync_interval=None, auth_token="", encryption_key=None))]
2323
fn connect(
2424
py: Python<'_>,
2525
database: String,
2626
isolation_level: Option<String>,
2727
check_same_thread: bool,
2828
uri: bool,
2929
sync_url: Option<String>,
30+
sync_interval: Option<f64>,
3031
auth_token: &str,
3132
encryption_key: Option<String>,
3233
) -> PyResult<Connection> {
@@ -47,14 +48,15 @@ fn connect(
4748
} else {
4849
match sync_url {
4950
Some(sync_url) => {
51+
let sync_interval = sync_interval.map(|i| std::time::Duration::from_secs_f64(i));
5052
let fut = libsql::Database::open_with_remote_sync_internal(
5153
database,
5254
sync_url,
5355
auth_token,
5456
Some(ver),
5557
true,
5658
encryption_config,
57-
None,
59+
sync_interval,
5860
);
5961
tokio::pin!(fut);
6062
let result = rt.block_on(check_signals(py, fut));

0 commit comments

Comments
 (0)