summaryrefslogtreecommitdiff
path: root/vendor/github.com/oschwald/maxminddb-golang/reader_other.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/oschwald/maxminddb-golang/reader_other.go')
-rw-r--r--vendor/github.com/oschwald/maxminddb-golang/reader_other.go63
1 files changed, 0 insertions, 63 deletions
diff --git a/vendor/github.com/oschwald/maxminddb-golang/reader_other.go b/vendor/github.com/oschwald/maxminddb-golang/reader_other.go
deleted file mode 100644
index 2a89fa6..0000000
--- a/vendor/github.com/oschwald/maxminddb-golang/reader_other.go
+++ /dev/null
@@ -1,63 +0,0 @@
-// +build !appengine
-
-package maxminddb
-
-import (
- "os"
- "runtime"
-)
-
-// 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) {
- mapFile, err := os.Open(file)
- if err != nil {
- return nil, err
- }
- defer func() {
- if rerr := mapFile.Close(); rerr != nil {
- err = rerr
- }
- }()
-
- stats, err := mapFile.Stat()
- if err != nil {
- return nil, err
- }
-
- fileSize := int(stats.Size())
- mmap, err := mmap(int(mapFile.Fd()), fileSize)
- if err != nil {
- return nil, err
- }
-
- reader, err := FromBytes(mmap)
- if err != nil {
- if err2 := munmap(mmap); err2 != nil {
- // failing to unmap the file is probably the more severe error
- return nil, err2
- }
- return nil, err
- }
-
- reader.hasMappedFile = true
- runtime.SetFinalizer(reader, (*Reader).Close)
- return reader, err
-}
-
-// 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 does nothing.
-func (r *Reader) Close() error {
- var err error
- if r.hasMappedFile {
- runtime.SetFinalizer(r, nil)
- r.hasMappedFile = false
- err = munmap(r.buffer)
- }
- r.buffer = nil
- return err
-}