milvus/
options.rs

1use crate::proto::common::ConsistencyLevel;
2
3#[derive(Debug, Clone, Copy)]
4pub struct CreateCollectionOptions {
5    pub(crate) shard_num: i32,
6    pub(crate) consistency_level: ConsistencyLevel,
7}
8
9impl Default for CreateCollectionOptions {
10    fn default() -> Self {
11        Self {
12            shard_num: 2,
13            consistency_level: ConsistencyLevel::Bounded,
14        }
15    }
16}
17
18impl CreateCollectionOptions {
19    pub fn new() -> Self {
20        Self::default()
21    }
22
23    pub fn with_shard_num(shard_num: i32) -> Self {
24        Self::default().shard_num(shard_num)
25    }
26
27    pub fn with_consistency_level(consistency_level: ConsistencyLevel) -> Self {
28        Self::default().consistency_level(consistency_level)
29    }
30
31    pub fn shard_num(mut self, shard_num: i32) -> Self {
32        self.shard_num = shard_num;
33        self
34    }
35
36    pub fn consistency_level(mut self, consistency_level: ConsistencyLevel) -> Self {
37        self.consistency_level = consistency_level;
38        self
39    }
40}