use crate::expressions::FilterExpression;
use crate::policy::{BasePolicy, PolicyLike};
#[derive(Debug, Clone)]
pub struct QueryPolicy {
pub base_policy: BasePolicy,
pub max_concurrent_nodes: usize,
pub record_queue_size: usize,
pub fail_on_cluster_change: bool,
pub filter_expression: Option<FilterExpression>,
}
impl QueryPolicy {
pub fn new() -> Self {
QueryPolicy::default()
}
pub const fn filter_expression(&self) -> &Option<FilterExpression> {
&self.filter_expression
}
}
impl Default for QueryPolicy {
fn default() -> Self {
QueryPolicy {
base_policy: BasePolicy::default(),
max_concurrent_nodes: 0,
record_queue_size: 1024,
fail_on_cluster_change: true,
filter_expression: None,
}
}
}
impl PolicyLike for QueryPolicy {
fn base(&self) -> &BasePolicy {
&self.base_policy
}
}