pub struct Limits {
pub decoding_buffer_size: usize,
pub ifd_value_size: usize,
pub intermediate_buffer_size: usize,
_non_exhaustive: (),
}
Expand description
Decoding limits
Fields§
§decoding_buffer_size: usize
The maximum size of any DecodingResult
in bytes, the default is
256MiB. If the entire image is decoded at once, then this will
be the maximum size of the image. If it is decoded one strip at a
time, this will be the maximum size of a strip.
ifd_value_size: usize
The maximum size of any ifd value in bytes, the default is 1MiB.
intermediate_buffer_size: usize
Maximum size for intermediate buffer which may be used to limit the amount of data read per segment even if the entire image is decoded at once.
_non_exhaustive: ()
The purpose of this is to prevent all the fields of the struct from being public, as this would make adding new fields a major version bump.
Implementations§
source§impl Limits
impl Limits
sourcepub fn unlimited() -> Limits
pub fn unlimited() -> Limits
A configuration that does not impose any limits.
This is a good start if the caller only wants to impose selective limits, contrary to the default limits which allows selectively disabling limits.
Note that this configuration is likely to crash on excessively large images since, naturally, the machine running the program does not have infinite memory.
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 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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more