You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
867 B
28 lines
867 B
// +build appengine |
|
|
|
package maxminddb |
|
|
|
import "io/ioutil" |
|
|
|
// Open takes a string path to a MaxMind DB file and returns a Reader |
|
// structure or an error. The database file is opened using a memory map, |
|
// except on Google App Engine where mmap is not supported; there the database |
|
// is loaded into memory. Use the Close method on the Reader object to return |
|
// the resources to the system. |
|
func Open(file string) (*Reader, error) { |
|
bytes, err := ioutil.ReadFile(file) |
|
if err != nil { |
|
return nil, err |
|
} |
|
|
|
return FromBytes(bytes) |
|
} |
|
|
|
// Close unmaps the database file from virtual memory and returns the |
|
// resources to the system. If called on a Reader opened using FromBytes |
|
// or Open on Google App Engine, this method sets the underlying buffer |
|
// to nil, returning the resources to the system. |
|
func (r *Reader) Close() error { |
|
r.buffer = nil |
|
return nil |
|
}
|
|
|