#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct Limits {
pub max_input_bytes: u64,
pub max_output_bytes: u64,
pub max_record_len: u32,
pub max_record_count: u32,
pub max_object_count: u32,
pub max_graph_ops: u32,
pub max_repeat_count: u64,
}
impl Limits {
pub const DEFAULT: Limits = Limits {
max_input_bytes: 1 << 40, max_output_bytes: 1 << 40, max_record_len: 1 << 31, max_record_count: 1 << 20, max_object_count: 1 << 20,
max_graph_ops: 1 << 20,
max_repeat_count: 1 << 32,
};
pub const STRICT: Limits = Limits {
max_input_bytes: 1 << 26, max_output_bytes: 1 << 26, max_record_len: 1 << 24, max_record_count: 1 << 16, max_object_count: 1 << 16,
max_graph_ops: 1 << 16,
max_repeat_count: 1 << 24,
};
}
impl Default for Limits {
fn default() -> Self {
Limits::DEFAULT
}
}