#[derive(Debug)]
pub enum MirroredMemoryMapCreationError
{
CouldNotOpenMemoryMappingFile(io::Error),
CouldNotUnlinkMemoryMappingFile(io::Error),
CouldNotTruncateMemoryMappingFile(io::Error),
PerProcessLimitOnNumberOfFileDescriptorsWouldBeExceeded,
KernelWouldBeOutOfMemory,
}
impl Display for MirroredMemoryMapCreationError
{
#[inline(always)]
fn fmt(&self, f: &mut Formatter) -> fmt::Result
{
<MirroredMemoryMapCreationError as Debug>::fmt(self, f)
}
}
impl error::Error for MirroredMemoryMapCreationError
{
#[inline(always)]
fn source(&self) -> Option<&(error::Error + 'static)>
{
use self::MirroredMemoryMapCreationError::*;
match self
{
&CouldNotOpenMemoryMappingFile(ref error) => Some(error),
&CouldNotUnlinkMemoryMappingFile(ref error) => Some(error),
&CouldNotTruncateMemoryMappingFile(ref error) => Some(error),
&PerProcessLimitOnNumberOfFileDescriptorsWouldBeExceeded => None,
&KernelWouldBeOutOfMemory => None,
}
}
}