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}