Struct maxminddb::Reader[][src]

pub struct Reader<S: AsRef<[u8]>> {
    pub metadata: Metadata,
    // some fields omitted
}
Expand description

A reader for the MaxMind DB format. The lifetime 'data is tied to the lifetime of the underlying buffer holding the contents of the database file.

Fields

metadata: Metadata

Implementations

Open a MaxMind DB database file by loading it into memory.

Example

let reader = maxminddb::Reader::open_readfile("test-data/test-data/GeoIP2-City-Test.mmdb").unwrap();

Open a MaxMind DB database from anything that implements AsRef<u8>

Example

use std::fs;
let buf = fs::read("test-data/test-data/GeoIP2-City-Test.mmdb").unwrap();
let reader = maxminddb::Reader::from_source(buf).unwrap();

Lookup the socket address in the opened MaxMind DB

Example:

use maxminddb::geoip2;
use std::net::IpAddr;
use std::str::FromStr;

let reader = maxminddb::Reader::open_readfile("test-data/test-data/GeoIP2-City-Test.mmdb").unwrap();

let ip: IpAddr = FromStr::from_str("89.160.20.128").unwrap();
let city: geoip2::City = reader.lookup(ip).unwrap();
print!("{:?}", city);

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.