BRegion

package
v0.0.0-...-eedd94a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2019 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	INDEX_BLOCK_LENGTH  = 12
	TOTAL_HEADER_LENGTH = 8192
)

Variables

This section is empty.

Functions

func CloseIPdb

func CloseIPdb(ip string)

func InitIPdb

func InitIPdb() (err error)

func IsChinaIP

func IsChinaIP(ip string) bool

Types

type Ip2Region

type Ip2Region struct {
	// contains filtered or unexported fields
}

func New

func New(path string) (*Ip2Region, error)

func (*Ip2Region) BinarySearch

func (this *Ip2Region) BinarySearch(ipStr string) (ipInfo IpInfo, err error)

func (*Ip2Region) BtreeSearch

func (this *Ip2Region) BtreeSearch(ipStr string) (ipInfo IpInfo, err error)

func (*Ip2Region) Close

func (this *Ip2Region) Close()

func (*Ip2Region) MemorySearch

func (this *Ip2Region) MemorySearch(ipStr string) (ipInfo IpInfo, err error)

type IpInfo

type IpInfo struct {
	CityId   int64
	Country  string
	Region   string
	Province string
	City     string
	ISP      string
}

func (IpInfo) String

func (ip IpInfo) String() string

type MyRegion

type MyRegion struct {
	RegionDB *Ip2Region
	Lock     sync.RWMutex
	// contains filtered or unexported fields
}

func (*MyRegion) CheckChinaIP

func (region *MyRegion) CheckChinaIP(ip string) bool

func (*MyRegion) GetIPDetails

func (region *MyRegion) GetIPDetails(ip string) (IpInfo, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL