#[non_exhaustive]pub struct ReadOptions {
pub max_bytes: Option<usize>,
}Expand description
Allocation policy for decoding an untrusted .nir file with read_with.
max_bytes is a decoded-allocation budget, not an on-disk file-size
limit and not a bound on the returned graph’s exact resident size. Charging
is monotonic and conservative: temporary allocations stay charged after
they are released. The exact rules are:
- numeric datasets: element count times decoded width;
u64datasets: both the temporaryVec<u64>and convertedVec<i64>;i64extent lists converted toVec<usize>(e.g.Input.shape): both the sourceVec<i64>and the destinationVec<usize>;- fixed strings: fixed-capacity HDF5 buffers, resulting
Stringheaders, and the worst-case copied payload; - variable-length strings: descriptor buffers, payload bytes reported by
H5Dvlen_get_buf_size, resultingStringheaders, and copied payload. Scalar VLEN strings use the containing file size as a payload bound becauseH5Dvlen_get_buf_sizecan abort on scalar VLEN; - scalar metadata: its decoded width;
- missing
v_resetandw_in: the synthesized tensor payload.
All arithmetic is checked; overflow is treated as over budget. Node and link names, collection bookkeeping, allocator overhead, and libhdf5’s own caches are not charged.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.max_bytes: Option<usize>Maximum total bytes charged by decoded allocations, or None for no
allocation budget.
Implementations§
Source§impl ReadOptions
impl ReadOptions
Sourcepub fn with_max_bytes(self, max_bytes: Option<usize>) -> Self
pub fn with_max_bytes(self, max_bytes: Option<usize>) -> Self
Set the decoded-allocation budget in bytes; None makes it unbounded.
Trait Implementations§
Source§impl Clone for ReadOptions
impl Clone for ReadOptions
Source§fn clone(&self) -> ReadOptions
fn clone(&self) -> ReadOptions
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReadOptions
impl Debug for ReadOptions
Source§impl Default for ReadOptions
impl Default for ReadOptions
Source§fn default() -> ReadOptions
fn default() -> ReadOptions
Returns the “default value” for a type. Read more
impl Eq for ReadOptions
Source§impl PartialEq for ReadOptions
impl PartialEq for ReadOptions
impl StructuralPartialEq for ReadOptions
Auto Trait Implementations§
impl Freeze for ReadOptions
impl RefUnwindSafe for ReadOptions
impl Send for ReadOptions
impl Sync for ReadOptions
impl Unpin for ReadOptions
impl UnsafeUnpin for ReadOptions
impl UnwindSafe for ReadOptions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.