pub struct SyncularConfig {
pub base_url: Option<String>,
pub ws_url: Option<String>,
pub headers: Vec<(String, String)>,
pub request_timeout_ms: Option<u64>,
pub round_deadline_ms: Option<u64>,
pub max_request_bytes: Option<u64>,
pub max_response_bytes: Option<u64>,
pub redirects: Option<String>,
pub db_path: Option<String>,
pub database_dir: Option<String>,
pub auto_sync: bool,
pub authority_columns: BTreeMap<String, Vec<String>>,
}Expand description
Plugin configuration. Passed to init; every field is optional except a
caller almost always wants a base_url (for real network sync) and a
database_dir or db_path (for persistence — defaults to an in-memory core
if both are absent).
Fields§
§base_url: Option<String>Server base URL for the native HTTP+WS transport (needs the
native-transport feature). Absent → client-local only.
ws_url: Option<String>Optional realtime WS URL; derived from base_url when absent.
headers: Vec<(String, String)>Extra request headers (auth, actor/project ids) as (name, value).
request_timeout_ms: Option<u64>Per-request network deadline in milliseconds. None (the default)
leaves requests unbounded, matching the reference HTTP binding.
round_deadline_ms: Option<u64>One monotonic deadline for a whole sync round (uploads, continuations,
main request, and every segment fetch) in milliseconds. None (the
default) leaves the round unbounded.
max_request_bytes: Option<u64>Largest request body the transport will send, in bytes. None (the
default) is unbounded.
max_response_bytes: Option<u64>Largest decoded (post-decompression) response body, in bytes. None
(the default) is unbounded.
redirects: Option<String>Redirect handling: "deny" (the default) refuses every redirect so
configured credentials, URL userinfo, and signed capabilities never
replay to another origin; "follow" follows a redirect only for a
request with none of those, and still refuses a credential-bearing
request.
db_path: Option<String>On-disk SQLite path a create opens when it names no database. Absent →
in-memory (nothing survives a restart). Apps usually set this to a file
under the app-data dir; see init.
database_dir: Option<String>Directory of the named databases. A create that carries database
(for example one replica per signed-in actor) opens
<database_dir>/<database>.db; the plugin creates the directory. The
webview names a database and never supplies a path.
auto_sync: boolRun the background host loop (§8.4). Default true.
Native app-approved table/column ceiling. Webview create selects scopes and a subset; raw IPC cannot expand this policy.