surrealdb_core/
options.rs

1use std::time::Duration;
2
3/// Configuration for the engine behaviour
4///
5/// The defaults are optimal so please only modify these if you know deliberately why you are modifying them.
6#[derive(Clone, Copy, Debug)]
7#[non_exhaustive]
8pub struct EngineOptions {
9	pub node_membership_refresh_interval: Duration,
10	pub node_membership_check_interval: Duration,
11	pub node_membership_cleanup_interval: Duration,
12	pub changefeed_gc_interval: Duration,
13}
14
15impl Default for EngineOptions {
16	fn default() -> Self {
17		Self {
18			node_membership_refresh_interval: Duration::from_secs(3),
19			node_membership_check_interval: Duration::from_secs(15),
20			node_membership_cleanup_interval: Duration::from_secs(300),
21			changefeed_gc_interval: Duration::from_secs(10),
22		}
23	}
24}
25
26impl EngineOptions {
27	pub fn with_node_membership_refresh_interval(mut self, interval: Duration) -> Self {
28		self.node_membership_refresh_interval = interval;
29		self
30	}
31	pub fn with_node_membership_check_interval(mut self, interval: Duration) -> Self {
32		self.node_membership_check_interval = interval;
33		self
34	}
35	pub fn with_node_membership_cleanup_interval(mut self, interval: Duration) -> Self {
36		self.node_membership_cleanup_interval = interval;
37		self
38	}
39	pub fn with_changefeed_gc_interval(mut self, interval: Duration) -> Self {
40		self.changefeed_gc_interval = interval;
41		self
42	}
43}