Skip to main content

MAX_VALUE_NESTING_FRAMES

Constant MAX_VALUE_NESTING_FRAMES 

Source
pub const MAX_VALUE_NESTING_FRAMES: usize = 96;
Expand description

Maximum prost recursion frame cost accepted for any arbitrary Value.

Prost enforces a decode recursion limit of 100 (no limit on encode). Each nesting level consumes 3 frames for Value::Object, 2 for Value::Array, or 1 for a Value::Timestamp leaf, plus a fixed overhead for the proto wrappers outside the Value tree.

Some protobuf paths (Log.fields and Trace.fields) can carry 99 frames, but the Log.value and metadata paths are only safe through 96. We use that highest common safe limit for every value so validation does not depend on its event type, root type, or destination protobuf field.