#[non_exhaustive]pub enum MaxMindDbError {
InvalidDatabase {
message: String,
offset: Option<usize>,
},
Io(Error),
Mmap(Error),
Decoding {
message: String,
offset: Option<usize>,
path: Option<String>,
},
ResourceLimit {
message: String,
offset: Option<usize>,
path: Option<String>,
},
InvalidNetwork(IpNetworkError),
InvalidInput {
message: String,
},
}Expand description
Error returned by MaxMind DB operations.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidDatabase
The database file is invalid or corrupted.
Fields
Io(Error)
An I/O error occurred while reading the database.
Mmap(Error)
Memory mapping failed.
Decoding
Error decoding data from the database.
Fields
ResourceLimit
Decoding or verification stopped because it exceeded an expansion or work safety limit.
This does not necessarily mean that the database is structurally
invalid. Schema-specific limits reported by a custom Serde visitor use
MaxMindDbError::Decoding instead. Applications may choose a narrower
schema or reject the database as untrusted input.
Fields
InvalidNetwork(IpNetworkError)
The provided network/CIDR is invalid.
InvalidInput
The provided input is invalid for this operation.
Implementations§
Source§impl MaxMindDbError
impl MaxMindDbError
Sourcepub fn invalid_database(message: impl Into<String>) -> Self
pub fn invalid_database(message: impl Into<String>) -> Self
Creates an InvalidDatabase error with just a message.
Sourcepub fn invalid_database_at(message: impl Into<String>, offset: usize) -> Self
pub fn invalid_database_at(message: impl Into<String>, offset: usize) -> Self
Creates an InvalidDatabase error with message and offset.
Sourcepub fn decoding(message: impl Into<String>) -> Self
pub fn decoding(message: impl Into<String>) -> Self
Creates a Decoding error with just a message.
Sourcepub fn decoding_at(message: impl Into<String>, offset: usize) -> Self
pub fn decoding_at(message: impl Into<String>, offset: usize) -> Self
Creates a Decoding error with message and offset.
Sourcepub fn decoding_at_path(
message: impl Into<String>,
offset: usize,
path: impl Into<String>,
) -> Self
pub fn decoding_at_path( message: impl Into<String>, offset: usize, path: impl Into<String>, ) -> Self
Creates a Decoding error with message, offset, and path.
Sourcepub fn resource_limit_at(message: impl Into<String>, offset: usize) -> Self
pub fn resource_limit_at(message: impl Into<String>, offset: usize) -> Self
Creates a ResourceLimit error with a message and offset.
Sourcepub fn invalid_input(message: impl Into<String>) -> Self
pub fn invalid_input(message: impl Into<String>) -> Self
Creates an InvalidInput error.
Trait Implementations§
Source§impl Debug for MaxMindDbError
impl Debug for MaxMindDbError
Source§impl Display for MaxMindDbError
impl Display for MaxMindDbError
Source§impl Error for MaxMindDbError
impl Error for MaxMindDbError
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 Error for MaxMindDbError
impl Error for MaxMindDbError
Source§fn custom<T: Display>(msg: T) -> Self
fn custom<T: Display>(msg: T) -> Self
Source§fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize receives a type different from what it was
expecting. Read moreSource§fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize receives a value of the right type but that
is wrong for some other reason. Read moreSource§fn invalid_length(len: usize, exp: &dyn Expected) -> Self
fn invalid_length(len: usize, exp: &dyn Expected) -> Self
Source§fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
Deserialize enum type received a variant with an
unrecognized name.Source§fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
Deserialize struct type received a field with an
unrecognized name.Source§fn missing_field(field: &'static str) -> Self
fn missing_field(field: &'static str) -> Self
Deserialize struct type expected to receive a required
field with a particular name but that field was not present in the
input.Source§fn duplicate_field(field: &'static str) -> Self
fn duplicate_field(field: &'static str) -> Self
Deserialize struct type received more than one of the
same field.Source§impl Error for Box<MaxMindDbError>
impl Error for Box<MaxMindDbError>
Source§fn custom<T: Display>(msg: T) -> Self
fn custom<T: Display>(msg: T) -> Self
Source§fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize receives a type different from what it was
expecting. Read moreSource§fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self
Deserialize receives a value of the right type but that
is wrong for some other reason. Read moreSource§fn invalid_length(len: usize, exp: &dyn Expected) -> Self
fn invalid_length(len: usize, exp: &dyn Expected) -> Self
Source§fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self
Deserialize enum type received a variant with an
unrecognized name.Source§fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self
Deserialize struct type received a field with an
unrecognized name.Source§fn missing_field(field: &'static str) -> Self
fn missing_field(field: &'static str) -> Self
Deserialize struct type expected to receive a required
field with a particular name but that field was not present in the
input.Source§fn duplicate_field(field: &'static str) -> Self
fn duplicate_field(field: &'static str) -> Self
Deserialize struct type received more than one of the
same field.