Skip to main content

MetadataBuilder

Struct MetadataBuilder 

Source
pub struct MetadataBuilder { /* private fields */ }
Expand description

Builder for writer metadata.

Implementations§

Source§

impl MetadataBuilder

Source

pub fn new() -> Self

Creates a builder with MMDB v2 defaults.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().build()?;
assert_eq!(metadata.ip_version, 6);
Source

pub fn database_type(self, value: impl Into<String>) -> Self

Sets the database type identifier.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().database_type("Example-City").build()?;
assert_eq!(metadata.database_type, "Example-City");
Source

pub fn ip_version(self, value: u16) -> Self

Sets the database IP version (4 or 6). Self::build rejects any other value.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().ip_version(4).build()?;
assert_eq!(metadata.ip_version, 4);
Source

pub fn language(self, value: impl Into<String>) -> Self

Adds one advertised language, deduplicating the list.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().language("fr").build()?;
assert!(metadata.languages.contains(&"fr".to_string()));
Source

pub fn languages(self, values: impl IntoIterator<Item = String>) -> Self

Replaces the complete advertised-language list.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().languages(["fr".to_string()]).build()?;
assert_eq!(metadata.languages, vec!["fr".to_string()]);
Source

pub fn description( self, language: impl Into<String>, value: impl Into<String>, ) -> Self

Adds or replaces a localized database description.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().description("en", "Example database").build()?;
assert_eq!(metadata.description["en"], "Example database");
Source

pub fn build_epoch(self, value: u64) -> Self

Overrides the build epoch in seconds since Unix epoch.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().build_epoch(1_700_000_000).build()?;
assert_eq!(metadata.build_epoch, 1_700_000_000);
Source

pub fn build(self) -> Result<Metadata>

Validates the configured fields and produces metadata. Returns Error::InvalidIpVersion for unsupported IP versions or Error::InvalidMetadata for an empty database type.

§Examples
use libmaxminddb_rs::MetadataBuilder;
let metadata = MetadataBuilder::new().ip_version(4).build()?;
assert_eq!(metadata.ip_version, 4);

Trait Implementations§

Source§

impl Clone for MetadataBuilder

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MetadataBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for MetadataBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.