qdrant_client/builders/
wal_config_diff_builder.rs1use crate::qdrant::*;
2
3#[must_use]
4#[derive(Clone)]
5pub struct WalConfigDiffBuilder {
6 pub(crate) wal_capacity_mb: Option<Option<u64>>,
8 pub(crate) wal_segments_ahead: Option<Option<u64>>,
10 pub(crate) wal_retain_closed: Option<Option<u64>>,
12}
13
14impl WalConfigDiffBuilder {
15 pub fn wal_capacity_mb(self, value: u64) -> Self {
17 let mut new = self;
18 new.wal_capacity_mb = Option::Some(Option::Some(value));
19 new
20 }
21 pub fn wal_segments_ahead(self, value: u64) -> Self {
23 let mut new = self;
24 new.wal_segments_ahead = Option::Some(Option::Some(value));
25 new
26 }
27 pub fn wal_retain_closed(self, value: u64) -> Self {
29 let mut new = self;
30 new.wal_retain_closed = Option::Some(Option::Some(value));
31 new
32 }
33
34 fn build_inner(self) -> Result<WalConfigDiff, std::convert::Infallible> {
35 Ok(WalConfigDiff {
36 wal_capacity_mb: self.wal_capacity_mb.unwrap_or_default(),
37 wal_segments_ahead: self.wal_segments_ahead.unwrap_or_default(),
38 wal_retain_closed: self.wal_retain_closed.unwrap_or_default(),
39 })
40 }
41 fn create_empty() -> Self {
43 Self {
44 wal_capacity_mb: core::default::Default::default(),
45 wal_segments_ahead: core::default::Default::default(),
46 wal_retain_closed: core::default::Default::default(),
47 }
48 }
49}
50
51impl Default for WalConfigDiffBuilder {
52 fn default() -> Self {
53 Self::create_empty()
54 }
55}
56
57impl From<WalConfigDiffBuilder> for WalConfigDiff {
58 fn from(value: WalConfigDiffBuilder) -> Self {
59 value.build_inner().unwrap_or_else(|_| {
60 panic!(
61 "Failed to convert {0} to {1}",
62 "WalConfigDiffBuilder", "WalConfigDiff"
63 )
64 })
65 }
66}
67
68impl WalConfigDiffBuilder {
69 pub fn build(self) -> WalConfigDiff {
71 self.build_inner().unwrap_or_else(|_| {
72 panic!(
73 "Failed to build {0} into {1}",
74 "WalConfigDiffBuilder", "WalConfigDiff"
75 )
76 })
77 }
78}