use crate::expressions::Expression;
use crate::policy::{BasePolicy, Concurrency, PolicyLike};
use super::Replica;
#[derive(Debug, Clone)]
pub struct BatchPolicy {
pub base_policy: BasePolicy,
pub concurrency: Concurrency,
pub allow_inline: bool,
pub allow_inline_ssd: bool,
pub respond_all_keys: bool,
pub filter_expression: Option<Expression>,
pub replica: Replica,
}
impl BatchPolicy {
pub fn new() -> Self {
BatchPolicy::default()
}
pub const fn filter_expression(&self) -> &Option<Expression> {
&self.filter_expression
}
}
impl Default for BatchPolicy {
fn default() -> Self {
BatchPolicy {
base_policy: BasePolicy::default(),
concurrency: Concurrency::Parallel,
allow_inline: true,
allow_inline_ssd: false,
respond_all_keys: true,
filter_expression: None,
replica: Replica::default(),
}
}
}
impl PolicyLike for BatchPolicy {
fn base(&self) -> &BasePolicy {
&self.base_policy
}
}