pub struct Limits {
pub max_depth: usize,
pub max_anchors: usize,
pub max_document_size: usize,
pub max_string_length: usize,
pub max_alias_depth: usize,
pub max_collection_size: usize,
pub max_complexity_score: usize,
pub max_total_alias_nodes: usize,
pub timeout: Option<Duration>,
}Expand description
Resource limits configuration for YAML processing
Fields§
§max_depth: usizeMaximum nesting depth for collections
max_anchors: usizeMaximum number of anchors in a document
max_document_size: usizeMaximum document size in bytes
max_string_length: usizeMaximum string length in characters
max_alias_depth: usizeMaximum alias expansion depth
max_collection_size: usizeMaximum number of items in a collection
max_complexity_score: usizeMaximum complexity score (calculated based on structure)
max_total_alias_nodes: usizeMaximum total number of nodes materialized by alias expansion in one
document. Closes the billion-laughs gap where wide alias fan-out
allocates millions of nodes before max_complexity_score fires.
The check runs before each alias clone so memory cannot blow up
between the check and the materialization.
timeout: Option<Duration>Timeout for parsing operations
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Limits
impl RefUnwindSafe for Limits
impl Send for Limits
impl Sync for Limits
impl Unpin for Limits
impl UnsafeUnpin for Limits
impl UnwindSafe for Limits
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more