pub enum InstallMemoryPoolsError {
PoolsInUse {
bytes_in_use: u64,
},
StreamUnavailable,
Unsupported,
InvalidLayout {
reason: String,
},
}Expand description
Why installing a pool layout did not take effect.
The distinction a caller needs is transient or permanent: a refused rebuild is worth retrying once whatever holds the pools drains, while a backend with no configurable pools refuses forever. Treating the two alike either gives up on a layout that would have installed, or repeats an expensive measurement that can never succeed.
Variants§
PoolsInUse
The pools being rebuilt still hold live allocations, so the previous layout was kept. Transient.
The calling stream is already in an error state, so its pools were not rebuilt. The layout still applies to streams created afterwards, and the underlying failure surfaces at the next flush or sync.
Unsupported
This backend has no configurable dynamic pools. Permanent.
InvalidLayout
The layout itself cannot be honoured, so the previous one was kept: an empty pool list, a zero size, a slice larger than its page, an unusable cap, or a pool shape this build has none of. Permanent — what has to change is the layout, not the moment it is installed at.
Trait Implementations§
Source§impl Clone for InstallMemoryPoolsError
impl Clone for InstallMemoryPoolsError
Source§fn clone(&self) -> InstallMemoryPoolsError
fn clone(&self) -> InstallMemoryPoolsError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InstallMemoryPoolsError
impl Debug for InstallMemoryPoolsError
Source§impl Display for InstallMemoryPoolsError
impl Display for InstallMemoryPoolsError
impl Eq for InstallMemoryPoolsError
Source§impl Error for InstallMemoryPoolsError
impl Error for InstallMemoryPoolsError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for InstallMemoryPoolsError
impl PartialEq for InstallMemoryPoolsError
impl StructuralPartialEq for InstallMemoryPoolsError
Auto Trait Implementations§
impl Freeze for InstallMemoryPoolsError
impl RefUnwindSafe for InstallMemoryPoolsError
impl Send for InstallMemoryPoolsError
impl Sync for InstallMemoryPoolsError
impl Unpin for InstallMemoryPoolsError
impl UnsafeUnpin for InstallMemoryPoolsError
impl UnwindSafe for InstallMemoryPoolsError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.