SYMBOL INDEX (980 symbols across 149 files) FILE: binding/c/main.c type searcher_test_entry (line 12) | struct searcher_test_entry { type searcher_test_t (line 21) | typedef struct searcher_test_entry searcher_test_t; function init_searcher_test (line 23) | int init_searcher_test(searcher_test_t *test, char *db_path, char *cache... function destroy_searcher_test (line 118) | void destroy_searcher_test(searcher_test_t *test) { function print_help (line 149) | void print_help(char *argv[]) { function test_search (line 157) | void test_search(int argc, char *argv[]) { function test_bench (line 267) | void test_bench(int argc, char *argv[]) { function main (line 412) | int main(int argc, char *argv[]) { FILE: binding/c/test_util.c type test_func_entry (line 13) | struct test_func_entry { type test_func_t (line 17) | typedef struct test_func_entry test_func_t; function test_load_header (line 19) | void test_load_header() { function test_load_vector_index (line 43) | void test_load_vector_index() { function test_load_content (line 54) | void test_load_content() { function test_parse_ip (line 65) | void test_parse_ip() { type ip_pair (line 103) | struct ip_pair { function test_ip_compare (line 107) | void test_ip_compare() { function main (line 181) | int main(int argc, char *argv[]) { FILE: binding/c/xdb_api.h type xdb_header (line 66) | struct xdb_header { type xdb_header_t (line 81) | typedef struct xdb_header xdb_header_t; type xdb_vector_index (line 91) | struct xdb_vector_index { type xdb_vector_index_t (line 95) | typedef struct xdb_vector_index xdb_vector_index_t; type xdb_content (line 105) | struct xdb_content { type xdb_content_t (line 109) | typedef struct xdb_content xdb_content_t; type string_ip_t (line 135) | typedef char string_ip_t; type bytes_ip_t (line 136) | typedef unsigned char bytes_ip_t; type xdb_ip_version_entry (line 142) | struct xdb_ip_version_entry { type xdb_version_t (line 151) | typedef struct xdb_ip_version_entry xdb_version_t; type xdb_region_buffer_entry (line 221) | struct xdb_region_buffer_entry { type xdb_region_buffer_t (line 226) | typedef struct xdb_region_buffer_entry xdb_region_buffer_t; type xdb_searcher_entry (line 243) | struct xdb_searcher_entry { type xdb_searcher_t (line 263) | typedef struct xdb_searcher_entry xdb_searcher_t; FILE: binding/c/xdb_searcher.c function xdb_region_buffer_init (line 12) | XDB_PUBLIC(int) xdb_region_buffer_init(xdb_region_buffer_t *region, char... function xdb_region_buffer_alloc (line 28) | XDB_PUBLIC(int) xdb_region_buffer_alloc(xdb_region_buffer_t *region, int... function xdb_region_buffer_empty (line 63) | XDB_PUBLIC(int) xdb_region_buffer_empty(xdb_region_buffer_t *region) { function xdb_region_buffer_free (line 81) | XDB_PUBLIC(void) xdb_region_buffer_free(xdb_region_buffer_t *region) { function xdb_new_base (line 101) | XDB_PRIVATE(int) xdb_new_base(xdb_version_t *version, xdb_searcher_t *xd... function xdb_new_with_file_only (line 127) | XDB_PUBLIC(int) xdb_new_with_file_only(xdb_version_t *version, xdb_searc... function xdb_new_with_vector_index (line 131) | XDB_PUBLIC(int) xdb_new_with_vector_index(xdb_version_t *version, xdb_se... function xdb_new_with_buffer (line 135) | XDB_PUBLIC(int) xdb_new_with_buffer(xdb_version_t *version, xdb_searcher... function xdb_close (line 139) | XDB_PUBLIC(void) xdb_close(void *ptr) { function xdb_search_by_string (line 149) | XDB_PUBLIC(int) xdb_search_by_string(xdb_searcher_t *xdb, const string_i... function xdb_search (line 159) | XDB_PUBLIC(int) xdb_search(xdb_searcher_t *xdb, const bytes_ip_t *ip_byt... function read (line 254) | XDB_PRIVATE(int) read(xdb_searcher_t *xdb, long offset, char *buffer, si... function xdb_get_version (line 274) | XDB_PUBLIC(xdb_version_t *) xdb_get_version(xdb_searcher_t *xdb) { function xdb_get_io_count (line 278) | XDB_PUBLIC(int) xdb_get_io_count(xdb_searcher_t *xdb) { FILE: binding/c/xdb_util.c function xdb_init_winsock (line 24) | XDB_PUBLIC(int) xdb_init_winsock() { function xdb_clean_winsock (line 37) | XDB_PUBLIC(void) xdb_clean_winsock() { function gettimeofday (line 44) | XDB_PRIVATE(int) gettimeofday(struct timeval* tp, void* tzp) { function xdb_init_winsock (line 62) | XDB_PUBLIC(int) xdb_init_winsock() {return 0;} function xdb_clean_winsock (line 63) | XDB_PUBLIC(void) xdb_clean_winsock() {} function xdb_load_header (line 68) | XDB_PUBLIC(xdb_header_t *) xdb_load_header(FILE *handle) { function xdb_load_header_from_file (line 103) | XDB_PUBLIC(xdb_header_t *) xdb_load_header_from_file(const char *db_path) { function xdb_free_header (line 115) | XDB_PUBLIC(void) xdb_free_header(void *ptr) { function xdb_load_vector_index (line 125) | XDB_PUBLIC(xdb_vector_index_t *) xdb_load_vector_index(FILE *handle) { function xdb_load_vector_index_from_file (line 149) | XDB_PUBLIC(xdb_vector_index_t *) xdb_load_vector_index_from_file(const c... function xdb_free_vector_index (line 161) | XDB_PUBLIC(void) xdb_free_vector_index(void *ptr) { function xdb_load_content (line 171) | XDB_PUBLIC(xdb_content_t *) xdb_load_content(FILE *handle) { function xdb_load_content_from_file (line 208) | XDB_PUBLIC(xdb_content_t *) xdb_load_content_from_file(const char *db_pa... function xdb_free_content (line 220) | XDB_PUBLIC(void) xdb_free_content(void *ptr) { function xdb_verify_from_header (line 230) | XDB_PUBLIC(int) xdb_verify_from_header(FILE *handle, xdb_header_t *heade... function xdb_verify (line 257) | XDB_PUBLIC(int) xdb_verify(FILE *handle) { function xdb_verify_from_file (line 274) | XDB_PUBLIC(int) xdb_verify_from_file(const char *db_path) { function _ipv4_sub_compare (line 294) | XDB_PRIVATE(int) _ipv4_sub_compare(const bytes_ip_t *ip_bytes, int bytes... function xdb_version_v4 (line 319) | XDB_PUBLIC(xdb_version_t *) xdb_version_v4() { function xdb_version_v6 (line 323) | XDB_PUBLIC(xdb_version_t *) xdb_version_v6() { function xdb_version_is_v4 (line 327) | XDB_PUBLIC(int) xdb_version_is_v4(const xdb_version_t *version) { function xdb_version_is_v6 (line 331) | XDB_PUBLIC(int) xdb_version_is_v6(const xdb_version_t *version) { function xdb_version_from_name (line 335) | XDB_PUBLIC(xdb_version_t *) xdb_version_from_name(char *name) { function xdb_version_from_header (line 350) | XDB_PUBLIC(xdb_version_t *) xdb_version_from_header(xdb_header_t *header) { function xdb_now (line 372) | XDB_PUBLIC(long) xdb_now() { function xdb_le_get_uint32 (line 378) | XDB_PUBLIC(unsigned int) xdb_le_get_uint32(const char *buffer, int offse... function xdb_le_get_uint16 (line 387) | XDB_PUBLIC(int) xdb_le_get_uint16(const char *buffer, int offset) { function xdb_parse_ip (line 394) | XDB_PUBLIC(xdb_version_t *) xdb_parse_ip(const string_ip_t *ip_string, b... function xdb_parse_v4_ip (line 407) | XDB_PUBLIC(xdb_version_t *) xdb_parse_v4_ip(const string_ip_t *ip_string... function xdb_parse_v6_ip (line 427) | XDB_PUBLIC(xdb_version_t *) xdb_parse_v6_ip(const string_ip_t *ip_string... function xdb_ip_to_string (line 443) | XDB_PUBLIC(int) xdb_ip_to_string(const bytes_ip_t *ip_bytes, int bytes, ... function xdb_v4_ip_to_string (line 453) | XDB_PUBLIC(int) xdb_v4_ip_to_string(const bytes_ip_t *ip_bytes, char *ip... function xdb_v6_ip_to_string (line 470) | XDB_PUBLIC(int) xdb_v6_ip_to_string(const bytes_ip_t *ip_bytes, char *ip... function xdb_ip_sub_compare (line 486) | XDB_PUBLIC(int) xdb_ip_sub_compare(const bytes_ip_t *ip1, int bytes, con... function xdb_fseek (line 500) | XDB_PUBLIC(int) xdb_fseek(FILE *handle, long long offset, int whence) { function xdb_ftell (line 513) | XDB_PUBLIC(long long) xdb_ftell(FILE *handle) { FILE: binding/cpp/src/base.cc type xdb (line 4) | namespace xdb { function init_xdb (line 10) | void init_xdb(int version) { function log_exit (line 16) | void log_exit(const string &msg) { function read_bin (line 21) | void read_bin(int index, char *buf, size_t len, FILE *db) { function to_uint (line 27) | unsigned to_uint(const char *buf) { function to_ushort (line 32) | unsigned to_ushort(const char *buf) { function to_int (line 36) | unsigned to_int(const char *buf, int n) { function write_uint (line 40) | void write_uint(unsigned data, char buf[]) { function write_uint (line 47) | void write_uint(unsigned data, FILE *dst) { function write_ushort (line 53) | void write_ushort(unsigned data, char buf[]) { function write_ushort (line 58) | void write_ushort(unsigned data, FILE *dst) { function write_string (line 64) | void write_string(const char *buf, unsigned len, FILE *dst) { function get_time (line 68) | unsigned long long get_time() { FILE: binding/cpp/src/base.h function namespace (line 18) | namespace xdb { FILE: binding/cpp/src/bench.cc type xdb (line 4) | namespace xdb { FILE: binding/cpp/src/bench.h function namespace (line 6) | namespace xdb { FILE: binding/cpp/src/edit.cc type xdb (line 4) | namespace xdb { function handle_ip_txt (line 6) | void handle_ip_txt(const string& name, std::list& regions) { FILE: binding/cpp/src/edit.h function namespace (line 6) | namespace xdb { FILE: binding/cpp/src/header.cc type xdb (line 4) | namespace xdb { FILE: binding/cpp/src/header.h function namespace (line 6) | namespace xdb { FILE: binding/cpp/src/ip.cc type xdb (line 4) | namespace xdb { function ip_t (line 35) | ip_t& ip_t::operator=(const ip_t& rhs) { function string (line 74) | string ip_t::to_string() const { function string (line 81) | string ip_t::to_bit() const { function ip_t (line 91) | ip_t operator+(const ip_t& lhs, int v) { function ip_t (line 103) | ip_t operator-(const ip_t& lhs, int v) { function string (line 150) | string node_t::to_string() const { function string (line 154) | string node_t::to_bit() const { FILE: binding/cpp/src/ip.h function namespace (line 6) | namespace xdb { FILE: binding/cpp/src/make.cc type xdb (line 4) | namespace xdb { FILE: binding/cpp/src/make.h function namespace (line 6) | namespace xdb { FILE: binding/cpp/src/search.cc type xdb (line 4) | namespace xdb { function string (line 67) | string search_t::get_region(int index, int len) { function string (line 92) | string search_t::search(const ip_t &ip) { function string (line 124) | string search_t::search(const string &str) { FILE: binding/cpp/src/search.h function namespace (line 7) | namespace xdb { FILE: binding/cpp/test/bench.cc function test_ipv4 (line 6) | void test_ipv4(int policy) { function test_ipv6 (line 12) | void test_ipv6(int policy) { function main (line 18) | int main() { FILE: binding/cpp/test/edit_v4.cc function main (line 4) | int main() { FILE: binding/cpp/test/edit_v6.cc function main (line 4) | int main() { FILE: binding/cpp/test/header.cc function test (line 4) | void test(const std::string& prompt, const std::string& file_name) { function main (line 26) | int main() { FILE: binding/cpp/test/make.cc function test (line 4) | void test(const std::string& prompt, function main (line 14) | int main() { FILE: binding/cpp/test/search.cc function test (line 6) | void test(xdb::search_t& s, const std::string& ip, const std::string& re... function test_ipv4 (line 11) | void test_ipv4(int policy) { function test_ipv6 (line 21) | void test_ipv6(int policy) { function main (line 33) | int main() { FILE: binding/csharp/IP2Region.Net.BenchMark/Benmarks.cs class Benchmarks (line 13) | [MemoryDiagnoser] method Benchmarks (line 28) | public Benchmarks() method ContentIPv4 (line 39) | [Benchmark] method VectorIPv4 (line 43) | [Benchmark] method FileIPv4 (line 47) | [Benchmark] method ContentIPv6 (line 51) | [Benchmark] method VectorIPv6 (line 55) | [Benchmark] method FileIPv6 (line 59) | [Benchmark] FILE: binding/csharp/IP2Region.Net.Test/SearcherTest.cs class SearcherTest (line 16) | public class SearcherTest method TestSearchCacheContent (line 21) | [Theory] method TestSearchCacheVector (line 37) | [Theory] method TestSearchCacheFile (line 53) | [Theory] method IoCount_File_Ok (line 72) | [Fact] method IoCount_Vector_Ok (line 85) | [Fact] method IoCount_Content_Ok (line 98) | [Fact] method Search_Ip_Ok (line 111) | [Theory] method AddIP2RegionService_Ok (line 121) | [Theory] method TestBenchSearch (line 138) | [Theory] FILE: binding/csharp/IP2Region.Net.Test/UtilTest.cs class UtilTest (line 12) | public class UtilTest method IpAddressToUInt32_Ok (line 14) | [Fact] method GetMidIp_Ok (line 21) | [Fact] FILE: binding/csharp/IP2Region.Net.Test/XdbTest.cs class XdbTest (line 12) | public class XdbTest method VersionIPV4_Ok (line 14) | [Fact] method VersionIPV6_Ok (line 29) | [Fact] method GetVersionAsync_Error (line 43) | [Fact] FILE: binding/csharp/IP2Region.Net/Abstractions/ISearcher.cs type ISearcher (line 15) | public interface ISearcher : IDisposable method Search (line 22) | string? Search(string ipStr); method Search (line 27) | string? Search(IPAddress ipAddress); method Search (line 33) | [Obsolete("已弃用,请改用其他方法;Deprecated; please use Search(string) or Search... FILE: binding/csharp/IP2Region.Net/Extensions/ServiceCollectionExtensions.cs class IP2RegionExtensions (line 17) | public static class IP2RegionExtensions method AddIP2RegionService (line 25) | public static IServiceCollection AddIP2RegionService(this IServiceColl... FILE: binding/csharp/IP2Region.Net/Internal/CacheStrategyFactory.cs class CacheStrategyFactory (line 12) | static class CacheStrategyFactory method CreateCacheStrategy (line 14) | public static ICacheStrategy CreateCacheStrategy(CachePolicy cachePoli... FILE: binding/csharp/IP2Region.Net/Internal/ContentCacheStrategy.cs class ContentCacheStrategy (line 10) | class ContentCacheStrategy(string xdbPath) : ICacheStrategy method ResetIoCount (line 20) | public void ResetIoCount() method GetVectorIndex (line 25) | public ReadOnlyMemory GetVectorIndex(int offset) method GetData (line 28) | public ReadOnlyMemory GetData(long offset, int length) => _cache... method Dispose (line 30) | public void Dispose() FILE: binding/csharp/IP2Region.Net/Internal/FileCacheStrategy.cs class FileCacheStrategy (line 12) | class FileCacheStrategy(string xdbPath) : ICacheStrategy method ResetIoCount (line 23) | public void ResetIoCount() method GetVectorIndex (line 28) | public virtual ReadOnlyMemory GetVectorIndex(int offset) => GetD... method GetData (line 30) | public virtual ReadOnlyMemory GetData(long offset, int length) method Dispose (line 68) | protected virtual void Dispose(bool disposing) method Dispose (line 80) | public void Dispose() FILE: binding/csharp/IP2Region.Net/Internal/ICacheStrategy.cs type ICacheStrategy (line 10) | internal interface ICacheStrategy : IDisposable method ResetIoCount (line 14) | void ResetIoCount(); method GetVectorIndex (line 16) | ReadOnlyMemory GetVectorIndex(int offset); method GetData (line 18) | ReadOnlyMemory GetData(long offset, int length); FILE: binding/csharp/IP2Region.Net/Internal/VectorIndexCacheStrategy.cs class VectorIndexCacheStrategy (line 10) | class VectorIndexCacheStrategy : FileCacheStrategy method VectorIndexCacheStrategy (line 17) | public VectorIndexCacheStrategy(string xdbPath) : base(xdbPath) method GetVectorIndex (line 22) | public override ReadOnlyMemory GetVectorIndex(int offset) => _ve... FILE: binding/csharp/IP2Region.Net/XDB/CachePolicy.cs type CachePolicy (line 13) | public enum CachePolicy FILE: binding/csharp/IP2Region.Net/XDB/Searcher.cs class Searcher (line 23) | public class Searcher(CachePolicy cachePolicy, string xdbPath) : ISearcher method Search (line 35) | public string? Search(string ipStr) method Search (line 44) | public string? Search(IPAddress ipAddress) => SearchCore(ipAddress.Get... method Search (line 49) | [Obsolete("已弃用,请改用其他方法;Deprecated; please use Search(string) or Search... method SearchCore (line 58) | string? SearchCore(byte[] ipBytes) method ByteCompare (line 122) | static int ByteCompare(byte[] ip1, ReadOnlySpan ip2) => ip1.Leng... method IPv4Compare (line 124) | static int IPv4Compare(byte[] ip1, ReadOnlySpan ip2) method IPv6Compare (line 142) | static int IPv6Compare(byte[] ip1, ReadOnlySpan ip2) method Dispose (line 162) | public void Dispose() FILE: binding/csharp/IP2Region.Net/XDB/Util.cs class Util (line 18) | public static class Util method IpAddressToUInt32 (line 20) | public static uint IpAddressToUInt32(string ipAddress) method IpAddressToUInt32 (line 26) | public static uint IpAddressToUInt32(IPAddress ipAddress) method GetMidIp (line 33) | public static uint GetMidIp(uint x, uint y) method GetVersionAsync (line 36) | public static async Task GetVersionAsync(string dbPath, Ca... method GetVersionAsync (line 52) | internal static async Task GetVersionAsync(FileStream read... method Parse (line 73) | private static XdbVersion Parse(ReadOnlySpan buffer) FILE: binding/csharp/IP2Region.Net/XDB/XdbVersion.cs type XdbVersion (line 13) | public struct XdbVersion FILE: binding/golang/main.go function getXdbPath (line 25) | func getXdbPath(fileName string) (string, error) { function createService (line 41) | func createService(v4XdbPath string, v4CachePolicy string, v6XdbPath str... function createSearcher (line 75) | func createSearcher(dbPath string, cachePolicy string) (*xdb.Searcher, e... function printHelp (line 124) | func printHelp() { function testSearch (line 132) | func testSearch() { function testBench (line 251) | func testBench() { function main (line 367) | func main() { FILE: binding/golang/service/config.go constant NoCache (line 22) | NoCache = 0 constant VIndexCache (line 23) | VIndexCache = 1 constant BufferCache (line 24) | BufferCache = 2 function CachePolicyFromName (line 27) | func CachePolicyFromName(name string) (int, error) { type Config (line 40) | type Config struct method String (line 128) | func (c *Config) String() string { method CachePolicy (line 145) | func (c *Config) CachePolicy() int { method IPVersion (line 149) | func (c *Config) IPVersion() *xdb.Version { method Header (line 153) | func (c *Config) Header() *xdb.Header { method VIndex (line 157) | func (c *Config) VIndex() []byte { method CBuffer (line 161) | func (c *Config) CBuffer() []byte { method Searchers (line 165) | func (c *Config) Searchers() int { function NewV4Config (line 55) | func NewV4Config(cachePolicy int, xdbPath string, searchers int) (*Confi... function NewV6Config (line 59) | func NewV6Config(cachePolicy int, xdbPath string, searchers int) (*Confi... function newConfig (line 63) | func newConfig(cachePolicy int, ipVersion *xdb.Version, xdbPath string, ... FILE: binding/golang/service/config_test.go function TestV4Config (line 12) | func TestV4Config(t *testing.T) { function TestV6Config (line 29) | func TestV6Config(t *testing.T) { FILE: binding/golang/service/ip2region.go type Ip2Region (line 22) | type Ip2Region struct method SearchByStr (line 121) | func (ip2r *Ip2Region) SearchByStr(ipStr string) (string, error) { method Search (line 130) | func (ip2r *Ip2Region) Search(ipBytes []byte) (string, error) { method v4Search (line 140) | func (ip2r *Ip2Region) v4Search(ipBytes []byte) (string, error) { method v6Search (line 155) | func (ip2r *Ip2Region) v6Search(ipBytes []byte) (string, error) { method Close (line 170) | func (ip2r *Ip2Region) Close() { method CloseTimeout (line 174) | func (ip2r *Ip2Region) CloseTimeout(d time.Duration) { function NewIp2Region (line 38) | func NewIp2Region(v4Config *Config, v6Config *Config) (*Ip2Region, error) { function NewIp2RegionWithPath (line 93) | func NewIp2RegionWithPath(v4XdbPath string, v6XdbPath string) (*Ip2Regio... FILE: binding/golang/service/ip2region_test.go function TestConfigCreate (line 17) | func TestConfigCreate(t *testing.T) { function TestPathCreate (line 66) | func TestPathCreate(t *testing.T) { function TestInMemSearch (line 105) | func TestInMemSearch(t *testing.T) { function TestV4Only (line 154) | func TestV4Only(t *testing.T) { function TestConcurrentCall (line 198) | func TestConcurrentCall(t *testing.T) { FILE: binding/golang/service/searcher_pool.go type SearcherPool (line 21) | type SearcherPool struct method LoanCount (line 62) | func (sp *SearcherPool) LoanCount() int { method BorrowSearcher (line 66) | func (sp *SearcherPool) BorrowSearcher() *xdb.Searcher { method ReturnSearcher (line 73) | func (sp *SearcherPool) ReturnSearcher(searcher *xdb.Searcher) { method Close (line 88) | func (sp *SearcherPool) Close() { method CloseTimeout (line 92) | func (sp *SearcherPool) CloseTimeout(d time.Duration) { function NewSearcherPool (line 35) | func NewSearcherPool(config *Config) (*SearcherPool, error) { FILE: binding/golang/service/searcher_pool_test.go function TestV4SearcherPool (line 12) | func TestV4SearcherPool(t *testing.T) { function TestV6SearcherPool (line 42) | func TestV6SearcherPool(t *testing.T) { FILE: binding/golang/xdb/header.go constant Structure20 (line 20) | Structure20 = 2 constant Structure30 (line 21) | Structure30 = 3 constant HeaderInfoLength (line 22) | HeaderInfoLength = 256 constant VectorIndexRows (line 23) | VectorIndexRows = 256 constant VectorIndexCols (line 24) | VectorIndexCols = 256 constant VectorIndexSize (line 25) | VectorIndexSize = 8 type IndexPolicy (line 30) | type IndexPolicy method String (line 37) | func (i IndexPolicy) String() string { constant VectorIndexPolicy (line 33) | VectorIndexPolicy IndexPolicy = 1 constant BTreeIndexPolicy (line 34) | BTreeIndexPolicy IndexPolicy = 2 type Header (line 50) | type Header struct method String (line 80) | func (h *Header) String() string { function NewHeader (line 63) | func NewHeader(input []byte) (*Header, error) { FILE: binding/golang/xdb/searcher.go type Searcher (line 20) | type Searcher struct method Close (line 73) | func (s *Searcher) Close() { method IPVersion (line 83) | func (s *Searcher) IPVersion() *Version { method GetIOCount (line 88) | func (s *Searcher) GetIOCount() int { method SearchByStr (line 93) | func (s *Searcher) SearchByStr(str string) (string, error) { method Search (line 103) | func (s *Searcher) Search(ip []byte) (string, error) { method read (line 185) | func (s *Searcher) read(offset int64, buff []byte) error { function NewWithFileOnly (line 36) | func NewWithFileOnly(version *Version, dbFile string) (*Searcher, error) { function NewWithVectorIndex (line 40) | func NewWithVectorIndex(version *Version, dbFile string, vIndex []byte) ... function NewWithBuffer (line 44) | func NewWithBuffer(version *Version, cBuff []byte) (*Searcher, error) { function NewSearcher (line 48) | func NewSearcher(version *Version, dbFile string, vIndex []byte, cBuff [... FILE: binding/golang/xdb/util.go function ParseIP (line 20) | func ParseIP(ip string) ([]byte, error) { function IP2String (line 39) | func IP2String(ip []byte) string { function IPCompare (line 45) | func IPCompare(ip1, ip2 []byte) int { function IPAddOne (line 58) | func IPAddOne(ip []byte) []byte { function IPSubOne (line 71) | func IPSubOne(ip []byte) []byte { function Verify (line 91) | func Verify(handle *os.File) error { function VerifyFromFile (line 124) | func VerifyFromFile(dbFile string) error { function LoadHeader (line 135) | func LoadHeader(handle *os.File) (*Header, error) { function LoadHeaderFromFile (line 155) | func LoadHeaderFromFile(dbFile string) (*Header, error) { function LoadHeaderFromBuff (line 171) | func LoadHeaderFromBuff(cBuff []byte) (*Header, error) { function LoadVectorIndex (line 176) | func LoadVectorIndex(handle *os.File) ([]byte, error) { function LoadVectorIndexFromFile (line 197) | func LoadVectorIndexFromFile(dbFile string) ([]byte, error) { function LoadContent (line 213) | func LoadContent(handle *os.File) ([]byte, error) { function LoadContentFromFile (line 242) | func LoadContentFromFile(dbFile string) ([]byte, error) { function LoadContentFromFS (line 258) | func LoadContentFromFS(fs embed.FS, filePath string) ([]byte, error) { FILE: binding/golang/xdb/util_test.go function TestParseIP (line 17) | func TestParseIP(t *testing.T) { function TestIPCompare (line 30) | func TestIPCompare(t *testing.T) { function TestLoadVectorIndex (line 44) | func TestLoadVectorIndex(t *testing.T) { function TestLoadContent (line 54) | func TestLoadContent(t *testing.T) { function TestLoadHeader (line 64) | func TestLoadHeader(t *testing.T) { FILE: binding/golang/xdb/version.go type Version (line 13) | type Version struct method String (line 23) | func (v *Version) String() string { constant IPv4VersionNo (line 31) | IPv4VersionNo = 4 constant IPv6VersionNo (line 32) | IPv6VersionNo = 6 function VersionFromIP (line 61) | func VersionFromIP(ip string) (*Version, error) { function VersionFromName (line 74) | func VersionFromName(name string) (*Version, error) { function VersionFromHeader (line 85) | func VersionFromHeader(header *Header) (*Version, error) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/SearcherTest.java class SearcherTest (line 26) | public class SearcherTest { method printHelp (line 28) | public static void printHelp(String[] args) { method getXdbPath (line 36) | public static final String getXdbPath(String fileName) throws IOExcept... method createService (line 51) | public static final Ip2Region createService( method createSearcher (line 66) | public static Searcher createSearcher(String dbPath, String cachePolic... method searchTest (line 92) | public static void searchTest(String[] args) throws IOException, XdbEx... method benchTest (line 187) | public static void benchTest(String[] args) throws IOException, XdbExc... method main (line 293) | public static void main(String[] args) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/service/Config.java class Config (line 20) | public class Config { method custom (line 43) | public static ConfigBuilder custom() { method Config (line 47) | protected Config(int cachePolicy, Version ipVersion, File xdbFile, method toString (line 67) | @Override public String toString() { method cachePolicyFromName (line 89) | public static final int cachePolicyFromName(String name) throws Invali... FILE: binding/java/src/main/java/org/lionsoul/ip2region/service/ConfigBuilder.java class ConfigBuilder (line 23) | public class ConfigBuilder { method ConfigBuilder (line 40) | public ConfigBuilder() {} method ConfigBuilder (line 42) | public ConfigBuilder(String xdbPath) { method setCachePolicy (line 46) | public ConfigBuilder setCachePolicy(int cachePolicy) { method setXdbPath (line 51) | public ConfigBuilder setXdbPath(String xdbPath) { method setXdbFile (line 57) | public ConfigBuilder setXdbFile(File xdbFile) { method setXdbInputStream (line 63) | public ConfigBuilder setXdbInputStream(InputStream xdbInputStream) { method setCacheSliceBytes (line 69) | public ConfigBuilder setCacheSliceBytes(int cacheSliceBytes) { method setSearchers (line 74) | public ConfigBuilder setSearchers(int searchers) { method build (line 79) | private Config build(Version ipVersion) throws IOException, XdbExcepti... method asV4 (line 129) | public Config asV4() throws IOException, XdbException, InvalidConfigEx... method asV6 (line 134) | public Config asV6() throws IOException, XdbException, InvalidConfigEx... FILE: binding/java/src/main/java/org/lionsoul/ip2region/service/InvalidConfigException.java class InvalidConfigException (line 3) | public class InvalidConfigException extends Exception { method InvalidConfigException (line 4) | public InvalidConfigException(String str) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/service/Ip2Region.java class Ip2Region (line 23) | public class Ip2Region { method create (line 37) | public static final Ip2Region create(final Config v4Config, final Conf... method create (line 41) | public static final Ip2Region create(final String v4XdbPath, final Str... method create (line 45) | public static final Ip2Region create(final File v4XdbFile, final File ... method Ip2Region (line 59) | protected Ip2Region(File v4XdbFile, File v6XdbFile) throws IOException... method Ip2Region (line 74) | protected Ip2Region(Config v4Config, Config v6Config) throws IOExcepti... method init (line 101) | protected Ip2Region init() throws IOException { method search (line 113) | public String search(String ipString) throws InetAddressException, IOE... method search (line 117) | public String search(byte[] ipBytes) throws InetAddressException, IOEx... method v4Search (line 127) | protected String v4Search(final byte[] ipBytes) throws IOException, In... method v6Search (line 145) | protected String v6Search(final byte[] ipBytes) throws IOException, In... method close (line 163) | public void close() throws InterruptedException { method close (line 167) | public void close(long timeoutMillis) throws InterruptedException { FILE: binding/java/src/main/java/org/lionsoul/ip2region/service/SearcherPool.java class SearcherPool (line 22) | public class SearcherPool { method create (line 38) | public static final SearcherPool create(final Config config) throws IO... method create (line 42) | public static final SearcherPool create(final Config config, boolean f... method SearcherPool (line 46) | protected SearcherPool(Config config) throws IOException { method SearcherPool (line 50) | protected SearcherPool(Config config, boolean fair) { method init (line 60) | protected SearcherPool init() throws IOException { method getLoanCount (line 70) | public int getLoanCount() { method borrowSearcher (line 77) | public Searcher borrowSearcher() throws InterruptedException { method returnSearcher (line 91) | public void returnSearcher(final Searcher searcher) { method close (line 109) | public void close() throws InterruptedException { method close (line 113) | public void close(long timeoutMillis) throws InterruptedException { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/Header.java class Header (line 9) | public class Header { method Header (line 22) | public Header(byte[] buff) { method toString (line 34) | @Override public String toString() { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/IPv4.java class IPv4 (line 11) | public class IPv4 extends Version { method IPv4 (line 12) | public IPv4() { method putBytes (line 17) | @Override method ipSubCompare (line 27) | @Override FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/IPv6.java class IPv6 (line 11) | public class IPv6 extends Version { method IPv6 (line 13) | public IPv6() { method putBytes (line 18) | @Override method ipSubCompare (line 24) | @Override FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/InetAddressException.java class InetAddressException (line 7) | public class InetAddressException extends Exception { method InetAddressException (line 9) | public InetAddressException(String str) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/LittleEndian.java class LittleEndian (line 11) | public class LittleEndian { method put (line 16) | public static void put(final byte[] buff, int offset, long value, int ... method putUint32 (line 27) | public static void putUint32(final byte[] buff, int offset, long value) { method putUint16 (line 35) | public static void putUint16(final byte[] buff, int offset, int value) { method getUint32 (line 41) | public static long getUint32(final byte[] buff, int offset) { method getUint16 (line 51) | public static int getUint16(final byte[] buff, int offset) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/Log.java class Log (line 14) | public class Log { method Log (line 33) | public Log(Class baseClass) { method getLogger (line 37) | public static Log getLogger(Class baseClass) { method format (line 41) | public String format(int level, String format, Object... args) { method printf (line 53) | public void printf(int level, String format, Object... args) { method getDebugf (line 67) | public String getDebugf(String format, Object... args) { method debugf (line 71) | public void debugf(String format, Object... args) { method getInfof (line 75) | public String getInfof(String format, Object... args) { method infof (line 79) | public void infof(String format, Object... args) { method getWarnf (line 83) | public String getWarnf(String format, Object... args) { method warnf (line 87) | public void warnf(String format, Object... args) { method getErrorf (line 91) | public String getErrorf(String format, Object... args) { method errorf (line 95) | public void errorf(String format, Object... args) { method setLevel (line 99) | public Log setLevel(int level) { method setLevel (line 104) | public Log setLevel(String level) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/LongByteArray.java class LongByteArray (line 18) | public class LongByteArray { method LongByteArray (line 33) | public LongByteArray() { method LongByteArray (line 38) | public LongByteArray(int sliceBytes) { method append (line 45) | public void append(final byte[] buffer) throws IOException{ method length (line 61) | public long length() { method size (line 65) | public int size() { method determinate (line 70) | private Position determinate(final long offset) { method copy (line 98) | public byte[] copy(final long srcPos, final byte[] dest, final int des... method slice (line 135) | public byte[] slice(long offset, int length) { method getUint32 (line 145) | public long getUint32(long offset) { method getInt2 (line 151) | public int getInt2(long offset) { class Position (line 158) | public static class Position { method Position (line 161) | public Position(int index, int offset) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/Searcher.java class Searcher (line 17) | public class Searcher { method newWithFileOnly (line 58) | public static Searcher newWithFileOnly(Version version, String xdbPath... method newWithFileOnly (line 62) | public static Searcher newWithFileOnly(Version version, File xdbFile) ... method newWithVectorIndex (line 66) | public static Searcher newWithVectorIndex(Version version, String xdbP... method newWithVectorIndex (line 70) | public static Searcher newWithVectorIndex(Version version, File xdbFil... method newWithBuffer (line 74) | public static Searcher newWithBuffer(Version version, LongByteArray cB... method Searcher (line 80) | public Searcher(Version version, File xdbFile, byte[] vectorIndex, Lon... method close (line 94) | public void close() throws IOException { method getIPVersion (line 100) | public Version getIPVersion() { method getIOCount (line 104) | public int getIOCount() { method search (line 108) | public String search(String ipStr) throws Exception { method search (line 112) | public String search(byte[] ip) throws IOException, InetAddressExcepti... method read (line 182) | protected void read(long offset, byte[] buffer) throws IOException { method toString (line 200) | @Override public String toString() { method loadHeader (line 214) | public static Header loadHeader(RandomAccessFile handle) throws IOExce... method loadHeaderFromFile (line 221) | public static Header loadHeaderFromFile(File xdbFile) throws IOExcepti... method loadHeaderFromFile (line 228) | public static Header loadHeaderFromFile(String xdbPath) throws IOExcep... method loadHeaderFromBuffer (line 232) | public static Header loadHeaderFromBuffer(LongByteArray cBuffer) throw... method loadVectorIndex (line 238) | public static byte[] loadVectorIndex(RandomAccessFile handle) throws I... method loadVectorIndexFromFile (line 250) | public static byte[] loadVectorIndexFromFile(File xdbFile) throws IOEx... method loadVectorIndexFromFile (line 257) | public static byte[] loadVectorIndexFromFile(String xdbPath) throws IO... method loadVectorIndexFromBuffer (line 261) | public static byte[] loadVectorIndexFromBuffer(LongByteArray cBuffer) ... method loadContent (line 270) | public static LongByteArray loadContent(RandomAccessFile handle) throw... method loadContent (line 274) | public static LongByteArray loadContent(RandomAccessFile handle, final... method loadContentFromFile (line 295) | public static LongByteArray loadContentFromFile(File xdbFile) throws I... method loadContentFromFile (line 299) | public static LongByteArray loadContentFromFile(File xdbFile, final in... method loadContentFromFile (line 308) | public static LongByteArray loadContentFromFile(String xdbPath) throws... method loadContentFromFile (line 312) | public static LongByteArray loadContentFromFile(String xdbPath, final ... method loadContentFromInputStream (line 318) | public static LongByteArray loadContentFromInputStream(InputStream is)... method loadContentFromInputStream (line 322) | public static LongByteArray loadContentFromInputStream(InputStream is,... method verify (line 369) | public static void verify(Header header, long fileBytes) throws IOExce... method verify (line 388) | public static void verify(RandomAccessFile handle) throws IOException,... method verifyFromFile (line 392) | public static void verifyFromFile(File xdbFile) throws IOException, Xd... method verifyFromFile (line 398) | public static void verifyFromFile(String xdbPath) throws IOException, ... FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/Util.java class Util (line 13) | public class Util method parseIP (line 18) | public static byte[] parseIP(String ip) throws InetAddressException { method ipToString (line 27) | public static String ipToString(final byte[] ip) { method ipJoin (line 40) | public static String ipJoin(byte[] ip) { method bytesToString (line 44) | public static String bytesToString(byte[] buff, int offset, int length) { method ipCompare (line 59) | public static int ipCompare(byte[] ip1, byte[] ip2) { method ipSubCompare (line 65) | public static int ipSubCompare(byte[] ip, byte[] buff, int offset) { method ipAddOne (line 82) | public static byte[] ipAddOne(byte[] ip) { method ipSubOne (line 98) | public static byte[] ipSubOne(byte[] ip) { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/Version.java class Version (line 11) | public abstract class Version { method Version (line 28) | public Version(int id, String name, int bytes, int segmentIndexSize) { method putBytes (line 36) | public abstract int putBytes(byte[] buff, int offset, byte[] ip); method ipCompare (line 40) | public int ipCompare(byte[] ip1, byte[] ip2) { method ipSubCompare (line 45) | public abstract int ipSubCompare(byte[] ip1, byte[] buff, int offset); method fromName (line 48) | public static final Version fromName(String name) throws Exception { method fromHeader (line 60) | public static final Version fromHeader(Header header) throws XdbExcept... method toString (line 80) | @Override public String toString() { FILE: binding/java/src/main/java/org/lionsoul/ip2region/xdb/XdbException.java class XdbException (line 7) | public class XdbException extends Exception { method XdbException (line 9) | public XdbException(String str) { FILE: binding/java/src/test/java/org/lionsoul/ip2region/service/ConfigTest.java class ConfigTest (line 11) | public class ConfigTest { method getDataPath (line 15) | public static final String getDataPath(String xdbFile) { method testBuildV4Config (line 25) | @Test method testBuildV4ConfigFromFile (line 35) | @Test method testBuildV4ConfigFromInputStream (line 45) | @Test method testBuildV4SliceBytes (line 55) | @Test method testBuildV6Config (line 68) | @Test method testBuildV6ConfigFromFile (line 78) | @Test method testBuildV6ConfigFromInputStream (line 88) | @Test method testBuildV6SliceBytes (line 98) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/service/Ip2RegionTest.java class Ip2RegionTest (line 15) | public class Ip2RegionTest { method TestConfigCreate (line 19) | @Test method TestPathCreate (line 48) | @Test method TestInMemSearch (line 65) | @Test method TestConcurrentCall (line 92) | @Test method TestV4Only (line 146) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/service/SearcherPoolTest.java class SearcherPoolTest (line 7) | public class SearcherPoolTest { method testV4SearcherPool (line 11) | @Test method testInMemV4SearcherPool (line 35) | @Test method testV6SearcherPool (line 59) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/xdb/BufferTest.java class BufferTest (line 10) | public class BufferTest { method getDataPath (line 14) | public static final String getDataPath(String xdbFile) { method testV4InputStreamBuffer (line 26) | @Test method testV4FixedBuffer (line 34) | @Test method testV4BufferAssert (line 44) | @Test method testV4BufferEOF (line 61) | @Test method testV6InputStreamBuffer (line 76) | @Test method testV6FixedBuffer (line 84) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/xdb/IPv4Test.java class IPv4Test (line 5) | public class IPv4Test { method testIpSubCompare (line 9) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/xdb/LittleEndianTest.java class LittleEndianTest (line 7) | public class LittleEndianTest { method testAll (line 11) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/xdb/UtilTest.java class UtilTest (line 5) | public class UtilTest { method testCheckIP (line 9) | @Test method testIpCompare (line 27) | @Test method testIpSubCompare (line 45) | @Test FILE: binding/java/src/test/java/org/lionsoul/ip2region/xdb/VersionTest.java class VersionTest (line 7) | public class VersionTest { method testFromName (line 11) | @Test method testFromHeader (line 23) | @Test FILE: binding/javascript/index.d.ts class Header (line 8) | class Header { class Version (line 22) | class Version { class Searcher (line 35) | class Searcher { FILE: binding/javascript/searcher.js class Searcher (line 15) | class Searcher { method constructor (line 16) | constructor(version, dbPath, vectorIndex, cBuffer) { method getIPVersion (line 31) | getIPVersion() { method getIOCount (line 35) | getIOCount() { method search (line 39) | async search(ip) { method read (line 109) | read(offset, buff, stats) { method close (line 127) | close() { method toString (line 133) | toString() { function newWithFileOnly (line 141) | function newWithFileOnly(version, dbPath) { function newWithVectorIndex (line 145) | function newWithVectorIndex(version, dbPath, vectorIndex) { function newWithBuffer (line 149) | function newWithBuffer(version, cBuffer) { FILE: binding/javascript/tests/searcher.test.js function _get_creater_list (line 94) | function _get_creater_list(version) { FILE: binding/javascript/util.js class Header (line 20) | class Header { method constructor (line 21) | constructor(buff) { method toString (line 36) | toString() { function _parse_ipv4_addr (line 51) | function _parse_ipv4_addr(v4String) { function _parse_ipv6_addr (line 76) | function _parse_ipv6_addr(v6String) { function parseIP (line 137) | function parseIP(ipString) { function _ipv4_to_string (line 152) | function _ipv4_to_string(v4Bytes) { function _ipv6_to_string (line 157) | function _ipv6_to_string(v6Bytes, compress) { function ipToString (line 218) | function ipToString(ipBytes, compress) { function ipBytesString (line 232) | function ipBytesString(ipBytes) { function ipSubCompare (line 248) | function ipSubCompare(ip1, buff, offset) { function ipCompare (line 252) | function ipCompare(ip1, ip2) { class Version (line 258) | class Version { method constructor (line 259) | constructor(id, name, bytes, indexSize, ipCompareFunc) { method ipCompare (line 267) | ipCompare(ip1, ip2) { method ipSubCompare (line 271) | ipSubCompare(ip1, ip2, offset) { method toString (line 275) | toString() { function versionFromName (line 304) | function versionFromName(name) { function versionFromHeader (line 315) | function versionFromHeader(h) { function loadHeader (line 338) | function loadHeader(fd) { function loadHeaderFromFile (line 347) | function loadHeaderFromFile(dbPath) { function loadVectorIndex (line 354) | function loadVectorIndex(fd) { function loadVectorIndexFromFile (line 364) | function loadVectorIndexFromFile(dbPath) { function loadContent (line 371) | function loadContent(fd) { function loadContentFromFile (line 381) | function loadContentFromFile(dbPath) { function verify (line 396) | function verify(fd) { function verifyFromFile (line 418) | function verifyFromFile(dbPath) { FILE: binding/lua_c/xdb_searcher.c type xdb_buffer_entry (line 25) | struct xdb_buffer_entry { type xdb_buffer_t (line 31) | typedef struct xdb_buffer_entry xdb_buffer_t; function lua_xdb_buffer_name (line 33) | static int lua_xdb_buffer_name(lua_State *L) { function lua_xdb_buffer_type (line 43) | static int lua_xdb_buffer_type(lua_State *L) { function lua_xdb_buffer_to_table (line 53) | static int lua_xdb_buffer_to_table(lua_State *L) { function lua_xdb_buffer_length (line 90) | static int lua_xdb_buffer_length(lua_State *L) { function lua_xdb_buffer_tostring (line 109) | static int lua_xdb_buffer_tostring(lua_State *L) { function lua_xdb_buffer_close (line 119) | static int lua_xdb_buffer_close(lua_State *L) { type luaL_Reg (line 135) | struct luaL_Reg function lua_xdb_load_header_from_file (line 151) | static int lua_xdb_load_header_from_file(lua_State *L) { function lua_xdb_load_vector_index_from_file (line 187) | static int lua_xdb_load_vector_index_from_file(lua_State *L) { function lua_xdb_load_content_from_file (line 223) | static int lua_xdb_load_content_from_file(lua_State *L) { function lua_xdb_verify_from_file (line 259) | static int lua_xdb_verify_from_file(lua_State *L) { function lua_xdb_version_from_header (line 268) | static int lua_xdb_version_from_header(lua_State *L) { function xdb_version_t (line 291) | static xdb_version_t *_get_version(lua_State *L, int arg) { function lua_xdb_version_info (line 302) | static int lua_xdb_version_info(lua_State *L) { function lua_xdb_parse_ip (line 327) | static int lua_xdb_parse_ip(lua_State *L) { function lua_xdb_ip_to_string (line 351) | static int lua_xdb_ip_to_string(lua_State *L) { function _validate_bytes_ip (line 395) | static int _validate_bytes_ip(const string_ip_t *ip_bytes) { function lua_xdb_ip_compare (line 412) | static int lua_xdb_ip_compare(lua_State *L) { function lua_xdb_now (line 448) | static int lua_xdb_now(lua_State *L) { function lua_xdb_new_with_file_only (line 459) | static int lua_xdb_new_with_file_only(lua_State *L) { function lua_xdb_new_with_vector_index (line 499) | static int lua_xdb_new_with_vector_index(lua_State *L) { function lua_xdb_new_with_buffer (line 546) | static int lua_xdb_new_with_buffer(lua_State *L) { function lua_xdb_close (line 589) | static int lua_xdb_close(lua_State *L) { function lua_xdb_search (line 602) | static int lua_xdb_search(lua_State *L) { function lua_xdb_get_io_count (line 672) | static int lua_xdb_get_io_count(lua_State *L) { function lua_xdb_tostring (line 681) | static int lua_xdb_tostring(lua_State *L) { function lua_xdb_cleanup (line 691) | static int lua_xdb_cleanup(lua_State *L) { type luaL_Reg (line 697) | struct luaL_Reg type luaL_Reg (line 707) | struct luaL_Reg function luaopen_xdb_searcher (line 726) | int luaopen_xdb_searcher(lua_State *L) FILE: binding/nginx/src/ngx_http_ip2region_module.c function ngx_int_t (line 323) | static ngx_int_t function ngx_int_t (line 342) | static ngx_int_t function ngx_http_ip2region_cleanup (line 480) | static void function ngx_int_t (line 525) | static ngx_int_t FILE: binding/nginx/src/ngx_http_ip2region_module.h type ip2region_searcher_t (line 19) | typedef struct { type ngx_http_ip2region_conf_t (line 25) | typedef struct { FILE: binding/php/batch_test.php function printHelp (line 15) | function printHelp($argv) { FILE: binding/php/bench_test.php function printHelp (line 15) | function printHelp($argv) { FILE: binding/php/search_test.php function printHelp (line 15) | function printHelp($argv) { FILE: binding/php/xdb/Searcher.class.php class Util (line 24) | class Util { method parseIP (line 27) | public static function parseIP($ipString) { method ipToString (line 37) | public static function ipToString($ipBytes) { method ipSubCompare (line 44) | public static function ipSubCompare($ip1, $buff, $offset) { method ipCompare (line 58) | public static function ipCompare($ip1, $ip2) { method versionFromName (line 70) | public static function versionFromName($ver_name) { method versionFromHeader (line 82) | public static function versionFromHeader($header) { method bytesToString (line 103) | public static function bytesToString($buff, $offset, $length) { method le_getUint32 (line 112) | public static function le_getUint32($b, $idx) { method le_getUint16 (line 125) | public static function le_getUint16($b, $idx) { method verify (line 136) | public static function verify($handle) { method verifyFromFile (line 169) | public static function verifyFromFile($dbFile) { method loadHeader (line 181) | public static function loadHeader($handle) { method loadHeaderFromFile (line 209) | public static function loadHeaderFromFile($dbFile) { method loadVectorIndex (line 221) | public static function loadVectorIndex($handle) { method loadVectorIndexFromFile (line 240) | public static function loadVectorIndexFromFile($dbFile) { method loadContent (line 252) | public static function loadContent($handle) { method loadContentFromFile (line 281) | public static function loadContentFromFile($dbFile) { method now (line 290) | public static function now() { class IPv4 (line 296) | class IPv4 { method default (line 303) | public static function default() { method __construct (line 311) | public function __construct($id, $name, $bytes, $segmentIndexSize) { method ipSubCompare (line 319) | public function ipSubCompare($ip1, $buff, $offset) { method __toString (line 338) | public function __toString() { class IPv6 (line 346) | class IPv6 { method default (line 353) | public static function default() { method __construct (line 362) | public function __construct($id, $name, $bytes, $segmentIndexSize) { method ipSubCompare (line 369) | public function ipSubCompare($ip, $buff, $offset) { method __toString (line 374) | public function __toString() { class Searcher (line 383) | class Searcher { method newWithFileOnly (line 404) | public static function newWithFileOnly($version, $dbFile) { method newWithVectorIndex (line 411) | public static function newWithVectorIndex($version, $dbFile, $vIndex) { method newWithBuffer (line 418) | public static function newWithBuffer($version, $cBuff) { method __construct (line 428) | function __construct($version, $dbFile, $vectorIndex=null, $cBuff=null) { method close (line 445) | public function close() { method getIPVersion (line 451) | public function getIPVersion() { method getIOCount (line 455) | public function getIOCount() { method search (line 466) | public function search($ip) { method searchByBytes (line 480) | public function searchByBytes($ipBytes) { method read (line 548) | private function read($offset, $len) { FILE: binding/php/xdb/util_test.php function testLoadHeader (line 25) | function testLoadHeader() { function testLoadVectorIndex (line 37) | function testLoadVectorIndex() { function testLoadContent (line 48) | function testLoadContent() { function testParseIP (line 59) | function testParseIP() { function testIPCompare (line 89) | function testIPCompare() { function testAttributes (line 108) | function testAttributes() { FILE: binding/python/bench_test.py function create_searcher (line 15) | def create_searcher(db_path, cache_policy): function run_bench_test (line 48) | def run_bench_test(db_path: str, src_path: str, cache_policy: str): FILE: binding/python/ip2region/searcher.py class Searcher (line 12) | class Searcher(object): method __init__ (line 17) | def __init__(self, version: util.Version, method get_ip_version (line 31) | def get_ip_version(self): method get_io_count (line 34) | def get_io_count(self): method search (line 37) | def search(self, ip: Union[bytes, str]): method read (line 104) | def read(self, offset: int, length: int): method close (line 114) | def close(self): method __str__ (line 118) | def __str__(self): function new_with_file_only (line 130) | def new_with_file_only(version: util.Version, db_path: str): function new_with_vector_index (line 133) | def new_with_vector_index(version: util.Version, db_path: str, vector_in... function new_with_buffer (line 136) | def new_with_buffer(version: util.Version, c_buffer: bytes): FILE: binding/python/ip2region/util.py class Header (line 26) | class Header(object): method __init__ (line 27) | def __init__(self, buff: bytes): method __str__ (line 42) | def __str__(self): function parse_ip (line 65) | def parse_ip(ip_string: str): function ip_to_string (line 71) | def ip_to_string(ip_bytes: bytes): function ip_compare (line 77) | def ip_compare(ip1: bytes, ip2: bytes): function ip_sub_compare (line 85) | def ip_sub_compare(ip1: bytes, buff: bytes, offset: int): class Version (line 98) | class Version(object): method __init__ (line 99) | def __init__(self, id: int, name: str, byte_num: int, index_size: int,... method ip_compare (line 106) | def ip_compare(self, ip1: bytes, ip2: bytes): method ip_sub_compare (line 109) | def ip_sub_compare(self, ip1: bytes, buff: bytes, offset: int): method __str__ (line 112) | def __str__(self): function _v4_sub_compare (line 120) | def _v4_sub_compare(ip1: bytes, buff: bytes, offset: int): function version_from_name (line 147) | def version_from_name(name: str): function version_from_header (line 156) | def version_from_header(header: bytes): function le_get_uint32 (line 174) | def le_get_uint32(buff: bytes, offset: int): function le_get_uint16 (line 186) | def le_get_uint16(buff: bytes, offset: int): function load_header (line 200) | def load_header(handle): function load_header_from_file (line 207) | def load_header_from_file(db_file: str): function load_vector_index (line 213) | def load_vector_index(handle): function load_vector_index_from_file (line 220) | def load_vector_index_from_file(db_file: str): function load_content (line 226) | def load_content(handle): function load_content_from_file (line 233) | def load_content_from_file(db_file: str): function verify (line 246) | def verify(handle): function verify_from_file (line 267) | def verify_from_file(db_file: str): FILE: binding/python/search_test.py function create_searcher (line 15) | def create_searcher(db_path, cache_policy): function run_search_test (line 48) | def run_search_test(db_path: str, cache_policy: str): FILE: binding/python/util_test.py function test_version (line 20) | def test_version(): function test_verify (line 37) | def test_verify(): function test_load_header (line 54) | def test_load_header(): function test_load_vector_index (line 60) | def test_load_vector_index(): function test_load_content (line 66) | def test_load_content(): function test_parse_ip (line 72) | def test_parse_ip(): function test_ip_compare (line 86) | def test_ip_compare(): function _get_searcher_list (line 102) | def _get_searcher_list(version: util.Version): function test_ip_search (line 110) | def test_ip_search(): FILE: binding/rust/example/src/cmd.rs type Command (line 21) | pub struct Command { type Action (line 32) | pub enum Action { type CmdCachePolicy (line 40) | pub enum CmdCachePolicy { FILE: binding/rust/example/src/main.rs function check (line 45) | fn check(searcher: &Searcher, start_ip: IpAddr, end_ip: IpAddr, check: &... function bench (line 61) | fn bench(searcher: &Searcher, check_filepath: &str) { function query (line 79) | fn query(searcher: &Searcher) { function main (line 97) | fn main() { FILE: binding/rust/ip2region/benches/search.rs function ipv4_range (line 24) | fn ipv4_range() -> Range { function ipv6_range (line 30) | fn ipv6_range() -> Range { constant IPV4_XDB (line 36) | const IPV4_XDB: &str = "../../../data/ip2region_v4.xdb"; constant IPV6_XDB (line 37) | const IPV6_XDB: &str = "../../../data/ip2region_v6.xdb"; FILE: binding/rust/ip2region/src/error.rs type Ip2RegionError (line 2) | pub enum Ip2RegionError { type Result (line 28) | pub type Result = std::result::Result; FILE: binding/rust/ip2region/src/ip_value.rs type IpValueExt (line 7) | pub trait IpValueExt { method to_ipaddr (line 8) | fn to_ipaddr(self) -> Result; method to_ipaddr (line 12) | fn to_ipaddr(self) -> Result { method to_ipaddr (line 18) | fn to_ipaddr(self) -> Result { method to_ipaddr (line 24) | fn to_ipaddr(self) -> Result { method to_ipaddr (line 30) | fn to_ipaddr(self) -> Result { method to_ipaddr (line 36) | fn to_ipaddr(self) -> Result { type CompareExt (line 41) | pub trait CompareExt { method ip_lt (line 42) | fn ip_lt(&self, other: Cow<'_, [u8]>) -> bool; method ip_gt (line 43) | fn ip_gt(&self, other: Cow<'_, [u8]>) -> bool; method ip_lt (line 47) | fn ip_lt(&self, other: Cow<'_, [u8]>) -> bool { method ip_gt (line 54) | fn ip_gt(&self, other: Cow<'_, [u8]>) -> bool { FILE: binding/rust/ip2region/src/searcher.rs type Searcher (line 18) | pub struct Searcher { method new (line 34) | pub fn new(filepath: String, cache_policy: CachePolicy) -> Result { method search (line 51) | pub fn search(&self, ip: T) -> Result method vector_index (line 118) | pub fn vector_index(&self) -> Result> { method read_buf (line 142) | pub fn read_buf(&self, offset: usize, size: usize) -> Result Split() method ToString (line 80) | public override string ToString() FILE: maker/csharp/IP2RegionMaker/XDB/Util.cs class Util (line 10) | public static class Util method IpAddressToUInt32 (line 12) | public static uint IpAddressToUInt32(string ipAddress) method UInt32ToIpAddress (line 20) | public static string UInt32ToIpAddress(uint ipAddress) method GetSegment (line 27) | public static Segment GetSegment(string line) method CheckSegments (line 57) | public static void CheckSegments(List segments) FILE: maker/golang/cmd/bench.go function Bench (line 12) | func Bench() { FILE: maker/golang/cmd/edit.go function Edit (line 21) | func Edit() { FILE: maker/golang/cmd/generate.go function Generate (line 18) | func Generate() { FILE: maker/golang/cmd/process.go function Process (line 19) | func Process() { FILE: maker/golang/cmd/search.go function Search (line 21) | func Search() { FILE: maker/golang/cmd/util.go function PrintHelp (line 13) | func PrintHelp() { function iterateFlags (line 25) | func iterateFlags(cb func(key string, val string) error) error { function applyLogLevel (line 49) | func applyLogLevel(logLevel string) error { function getFilterFields (line 74) | func getFilterFields(fieldList string) ([]int, error) { FILE: maker/golang/main.go function main (line 15) | func main() { FILE: maker/golang/xdb/editor.go type Editor (line 17) | type Editor struct method loadSegments (line 58) | func (e *Editor) loadSegments() error { method NeedSave (line 150) | func (e *Editor) NeedSave() bool { method SegLen (line 154) | func (e *Editor) SegLen() int { method Slice (line 158) | func (e *Editor) Slice(offset int, size int) []*Segment { method Put (line 184) | func (e *Editor) Put(ip string) (int, int, error) { method PutSegment (line 204) | func (e *Editor) PutSegment(seg *Segment) (int, int, error) { method PutFile (line 298) | func (e *Editor) PutFile(src string) (int, int, error) { method Save (line 324) | func (e *Editor) Save() error { method Close (line 366) | func (e *Editor) Close() { function NewEditor (line 29) | func NewEditor(version *Version, srcFile string) (*Editor, error) { FILE: maker/golang/xdb/index.go type IndexPolicy (line 12) | type IndexPolicy constant VectorIndexPolicy (line 15) | VectorIndexPolicy IndexPolicy = 1 constant BTreeIndexPolicy (line 16) | BTreeIndexPolicy IndexPolicy = 2 function IndexPolicyFromString (line 19) | func IndexPolicyFromString(str string) (IndexPolicy, error) { FILE: maker/golang/xdb/maker.go constant VersionNo (line 66) | VersionNo = 3 constant HeaderInfoLength (line 67) | HeaderInfoLength = 256 constant VectorIndexRows (line 68) | VectorIndexRows = 256 constant VectorIndexCols (line 69) | VectorIndexCols = 256 constant VectorIndexSize (line 70) | VectorIndexSize = 8 constant RuntimePtrSize (line 71) | RuntimePtrSize = 4 constant VectorIndexLength (line 72) | VectorIndexLength = VectorIndexRows * VectorIndexCols * VectorIndexSize type Maker (line 75) | type Maker struct method initDbHeader (line 125) | func (m *Maker) initDbHeader() error { method loadSegments (line 165) | func (m *Maker) loadSegments() error { method Init (line 225) | func (m *Maker) Init() error { method Append (line 246) | func (m *Maker) Append(seg *Segment) { method setVectorIndex (line 251) | func (m *Maker) setVectorIndex(ip []byte, ptr uint32) { method Start (line 265) | func (m *Maker) Start() error { method End (line 404) | func (m *Maker) End() error { function NewMaker (line 90) | func NewMaker(version *Version, policy IndexPolicy, srcFile string, dstF... FILE: maker/golang/xdb/processor.go type Processor (line 18) | type Processor struct method loadSegments (line 61) | func (p *Processor) loadSegments() error { method Init (line 116) | func (p *Processor) Init() error { method Start (line 126) | func (p *Processor) Start() error { method End (line 144) | func (p *Processor) End() error { function NewProcessor (line 31) | func NewProcessor(srcFile string, dstFile string, fields []int, FILE: maker/golang/xdb/searcher.go type Searcher (line 19) | type Searcher struct method Close (line 49) | func (s *Searcher) Close() { method LoadVectorIndex (line 60) | func (s *Searcher) LoadVectorIndex() error { method ClearVectorIndex (line 87) | func (s *Searcher) ClearVectorIndex() { method Search (line 92) | func (s *Searcher) Search(ip []byte) (string, int, error) { function NewSearcher (line 33) | func NewSearcher(version *Version, dbFile string) (*Searcher, error) { function LoadXdbHeader (line 194) | func LoadXdbHeader(handle *os.File) ([]byte, error) { function LoadXdbHeaderFromFile (line 214) | func LoadXdbHeaderFromFile(dbFile string) ([]byte, error) { FILE: maker/golang/xdb/segment.go type Segment (line 12) | type Segment struct method RightBehind (line 47) | func (s *Segment) RightBehind(last *Segment) error { method After (line 62) | func (s *Segment) After(last *Segment) error { method Split (line 76) | func (s *Segment) Split() []*Segment { method String (line 170) | func (s *Segment) String() string { method Contains (line 175) | func (s *Segment) Contains(ip []byte) bool { function SegmentFrom (line 18) | func SegmentFrom(seg string) (*Segment, error) { FILE: maker/golang/xdb/util.go function ParseIP (line 19) | func ParseIP(ip string) ([]byte, error) { function IP2String (line 38) | func IP2String(ip []byte) string { function IP2Long (line 42) | func IP2Long(ip []byte) *big.Int { function IPCompare (line 48) | func IPCompare(ip1, ip2 []byte) int { function IPAddOne (line 63) | func IPAddOne(ip []byte) []byte { function IPSubOne (line 76) | func IPSubOne(ip []byte) []byte { function IPSub (line 91) | func IPSub(sip, eip []byte) ([]byte, error) { function IPHalf (line 115) | func IPHalf(ip []byte) []byte { function IPMiddle (line 134) | func IPMiddle(sip, eip []byte) ([]byte, error) { function IterateSegments (line 143) | func IterateSegments(handle *os.File, autoMerge bool, before func(l stri... function CheckSegments (line 236) | func CheckSegments(segList []*Segment) error { function RegionFiltering (line 257) | func RegionFiltering(region string, fields []int) (string, error) { FILE: maker/golang/xdb/util_test.go function TestParseIP (line 14) | func TestParseIP(t *testing.T) { function TestIPCompare (line 27) | func TestIPCompare(t *testing.T) { function TestIPAddOne (line 41) | func TestIPAddOne(t *testing.T) { function TestIPAddOne2 (line 66) | func TestIPAddOne2(t *testing.T) { function TestIPSubOne (line 72) | func TestIPSubOne(t *testing.T) { function TestIPSubOne2 (line 97) | func TestIPSubOne2(t *testing.T) { function TestIPSub (line 103) | func TestIPSub(t *testing.T) { function TestIPHalf (line 134) | func TestIPHalf(t *testing.T) { function TestSubOverflow (line 149) | func TestSubOverflow(t *testing.T) { function TestIPMiddle (line 168) | func TestIPMiddle(t *testing.T) { function TestSplitSegmentV4 (line 199) | func TestSplitSegmentV4(t *testing.T) { function TestRegionFiltering (line 221) | func TestRegionFiltering(t *testing.T) { function TestSplitSegmentV6 (line 236) | func TestSplitSegmentV6(t *testing.T) { function TestIterateSegments (line 255) | func TestIterateSegments(t *testing.T) { FILE: maker/golang/xdb/version.go constant IPv4VersionNo (line 14) | IPv4VersionNo = 4 constant IPv6VersionNo (line 15) | IPv6VersionNo = 6 type Version (line 18) | type Version struct method String (line 34) | func (v *Version) String() string { function VersionFromIP (line 91) | func VersionFromIP(ip string) (*Version, error) { function VersionFromName (line 104) | func VersionFromName(name string) (*Version, error) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/MakerApp.java class MakerApp (line 22) | public class MakerApp { method printHelp (line 27) | public static void printHelp(String[] args) { method getFieldList (line 38) | private static int[] getFieldList(String fieldList) { method genDb (line 112) | public static void genDb(String[] args) throws Exception { method main (line 175) | public static void main(String[] args) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/IPv4.java class IPv4 (line 11) | public class IPv4 extends Version { method IPv4 (line 12) | public IPv4() { method putBytes (line 17) | @Override FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/IPv6.java class IPv6 (line 11) | public class IPv6 extends Version { method IPv6 (line 13) | public IPv6() { method putBytes (line 18) | @Override FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/IndexPolicy.java class IndexPolicy (line 10) | public class IndexPolicy { method parse (line 15) | public static int parse(String policy) throws Exception { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/InvalidInetAddressException.java class InvalidInetAddressException (line 7) | public class InvalidInetAddressException extends Exception { method InvalidInetAddressException (line 9) | public InvalidInetAddressException(String str) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/LittleEndian.java class LittleEndian (line 11) | public class LittleEndian { method put (line 16) | public static void put(final byte[] buff, int offset, long value, int ... method putUint32 (line 27) | public static void putUint32(final byte[] buff, int offset, long value) { method putInt2 (line 35) | public static void putInt2(final byte[] buff, int offset, int value) { method getUint32 (line 41) | public static long getUint32(final byte[] buff, int offset) { method getInt2 (line 51) | public static int getInt2(final byte[] buff, int offset) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/Log.java class Log (line 14) | public class Log { method Log (line 33) | public Log(Class baseClass) { method getLogger (line 37) | public static Log getLogger(Class baseClass) { method format (line 41) | public String format(int level, String format, Object... args) { method printf (line 53) | public void printf(int level, String format, Object... args) { method getDebugf (line 67) | public String getDebugf(String format, Object... args) { method debugf (line 71) | public void debugf(String format, Object... args) { method getInfof (line 75) | public String getInfof(String format, Object... args) { method infof (line 79) | public void infof(String format, Object... args) { method getWarnf (line 83) | public String getWarnf(String format, Object... args) { method warnf (line 87) | public void warnf(String format, Object... args) { method getErrorf (line 91) | public String getErrorf(String format, Object... args) { method errorf (line 95) | public void errorf(String format, Object... args) { method setLevel (line 99) | public Log setLevel(int level) { method setLevel (line 104) | public Log setLevel(String level) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/Maker.java class Maker (line 62) | public class Maker { method Maker (line 97) | public Maker(Version version, int policy, String srcPath, String dstPa... method initHeader (line 124) | private void initHeader() throws IOException { method loadSegments (line 158) | private void loadSegments() throws Exception { method init (line 232) | public void init() throws Exception { method setVectorIndex (line 241) | private void setVectorIndex(final byte[] ip, long ptr) { method start (line 255) | public void start() throws Exception { method end (line 359) | public void end() throws IOException { class DataEntry (line 363) | private static class DataEntry { method DataEntry (line 367) | DataEntry(int length, long ptr) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/Segment.java class Segment (line 17) | public class Segment { method Segment (line 22) | public Segment(final byte[] startIP, final byte[] endIP, String region) { method split (line 29) | public List split() { method toString (line 92) | @Override public String toString() { method contains (line 97) | public boolean contains(final byte[] ip) { method rightBehind (line 103) | public boolean rightBehind(final Segment last) { method after (line 109) | public boolean after(final Segment last) { method parse (line 114) | public static Segment parse(String input) throws Exception { type IterateAction (line 130) | public static interface IterateAction { method sorting (line 132) | default boolean sorting() { method before (line 136) | public void before(final String line); method filter (line 137) | public String filter(final String region); method handle (line 138) | public void handle(final Segment seg) throws Exception; method iterate (line 142) | public static void iterate(final String srcFile, IterateAction action)... method iterate (line 146) | public static void iterate(final File srcFile, IterateAction action) t... FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/Util.java class Util (line 13) | public class Util method parseIP (line 18) | public static byte[] parseIP(String ip) throws InvalidInetAddressExcep... method ipToString (line 27) | public static String ipToString(final byte[] ip) { method ipArrayString (line 40) | public static String ipArrayString(byte[] ip) { method ipCompare (line 55) | public static int ipCompare(byte[] ip1, byte[] ip2) { method ipAddOne (line 72) | public static byte[] ipAddOne(byte[] ip) { method ipSubOne (line 88) | public static byte[] ipSubOne(byte[] ip) { method regionFiltering (line 105) | public static String regionFiltering(String region, int[] fields) { FILE: maker/java/src/main/java/org/lionsoul/ip2region/xdb/Version.java class Version (line 11) | public abstract class Version { method Version (line 28) | public Version(int id, String name, int bytes, int segmentIndexSize) { method putBytes (line 36) | public abstract int putBytes(byte[] buff, int offset, byte[] ip); method ipCompare (line 40) | public int ipCompare(byte[] ip1, byte[] ip2) { method fromName (line 45) | public static final Version fromName(String name) throws Exception { method toString (line 56) | @Override public String toString() { FILE: maker/java/src/test/java/org/lionsoul/ip2region/xdb/IndexPolicyTest.java class IndexPolicyTest (line 5) | public class IndexPolicyTest { method testParse (line 9) | @Test FILE: maker/java/src/test/java/org/lionsoul/ip2region/xdb/LittleEndianTest.java class LittleEndianTest (line 7) | public class LittleEndianTest { method testAll (line 11) | @Test FILE: maker/java/src/test/java/org/lionsoul/ip2region/xdb/MakerTest.java class MakerTest (line 5) | public class MakerTest { method testInit (line 9) | @Test FILE: maker/java/src/test/java/org/lionsoul/ip2region/xdb/SegmentTest.java class SegmentTest (line 8) | public class SegmentTest { method testParse (line 12) | @Test method testSplit (line 26) | @Test method testIterate (line 43) | @Test FILE: maker/java/src/test/java/org/lionsoul/ip2region/xdb/UtilTest.java class UtilTest (line 5) | public class UtilTest { method testCheckIP (line 9) | @Test method testIpCompare (line 27) | @Test method testIpAddOne (line 45) | @Test method testIpSubOne (line 62) | @Test method testRegionFiltering (line 79) | @Test FILE: maker/java/src/test/java/org/lionsoul/ip2region/xdb/VersionTest.java class VersionTest (line 7) | public class VersionTest { method testFromName (line 11) | @Test FILE: maker/python/main.py function print_help (line 23) | def print_help(): function gen_db (line 30) | def gen_db(): function main (line 74) | def main(): FILE: maker/python/xdb/index.py function index_policy_from_string (line 14) | def index_policy_from_string(s: str) -> int: class VectorIndexBlock (line 25) | class VectorIndexBlock: method __init__ (line 29) | def __init__(self, fp=0, lp=0): method __str__ (line 33) | def __str__(self): method encode (line 36) | def encode(self) -> bytes: class SegmentIndexBlock (line 43) | class SegmentIndexBlock: method __init__ (line 49) | def __init__(self, sip, eip, dl, dp): method __str__ (line 55) | def __str__(self): method encode (line 60) | def encode(self) -> bytes: FILE: maker/python/xdb/maker.py class Maker (line 70) | class Maker: method __init__ (line 78) | def __init__(self, sh, dh, ip, sg, rp, vi): method init (line 86) | def init(self): method init_db_header (line 95) | def init_db_header(self): method load_segments (line 117) | def load_segments(self): method set_vector_index (line 170) | def set_vector_index(self, ip, ptr): method start (line 183) | def start(self): method end (line 273) | def end(self): function new_maker (line 285) | def new_maker(policy: int, srcfile: str, dstfile: str) -> Maker: FILE: maker/python/xdb/segment.py class Segment (line 11) | class Segment: method __init__ (line 16) | def __init__(self, sip=0, eip=0, reg=""): method __str__ (line 20) | def __str__(self): method split (line 25) | def split(self) -> list: FILE: maker/python/xdb/util.py function check_ip (line 11) | def check_ip(ip: str) -> int: function long2ip (line 26) | def long2ip(num: int) -> str: function is_ipv4 (line 38) | def is_ipv4(ip: str) -> bool: FILE: maker/rust/maker/src/command.rs type Command (line 7) | pub struct Command { FILE: maker/rust/maker/src/error.rs type MakerError (line 2) | pub enum MakerError { type Result (line 34) | pub type Result = std::result::Result; FILE: maker/rust/maker/src/header.rs constant VERSION_NO (line 12) | pub const VERSION_NO: u16 = 3; constant HEADER_INFO_LENGTH (line 13) | pub const HEADER_INFO_LENGTH: usize = 256; constant VECTOR_INDEX_COLS (line 14) | pub const VECTOR_INDEX_COLS: usize = 256; constant VECTOR_INDEX_ROWS (line 15) | pub const VECTOR_INDEX_ROWS: usize = 256; constant VECTOR_INDEX_SIZE (line 16) | pub const VECTOR_INDEX_SIZE: usize = 8; constant VECTOR_INDEX_LENGTH (line 17) | pub const VECTOR_INDEX_LENGTH: usize = VECTOR_INDEX_COLS * VECTOR_INDEX_... constant RUNTIME_PTR_SIZE (line 18) | pub const RUNTIME_PTR_SIZE: u16 = 4; constant REGION_START (line 19) | pub const REGION_START: u64 = (HEADER_INFO_LENGTH + VECTOR_INDEX_LENGTH)... type Header (line 23) | pub struct Header { type Error (line 34) | type Error = MakerError; method try_from (line 36) | fn try_from(value: &[u8; 256]) -> Result { method new (line 64) | pub fn new(index_policy: IndexPolicy, ip_version: IpVersion) -> Header { method encode_bytes (line 76) | pub fn encode_bytes(&self, start_index_ptr: u32, end_index_ptr: u32) -... method ip_bytes_len (line 132) | pub fn ip_bytes_len(&self) -> usize { method segment_index_size (line 136) | pub fn segment_index_size(&self) -> usize { method ip_version (line 140) | pub fn ip_version(&self) -> &IpVersion { type IndexPolicy (line 92) | pub enum IndexPolicy { method fmt (line 98) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type IpVersion (line 108) | pub enum IpVersion { method ip_bytes_len (line 116) | pub fn ip_bytes_len(&self) -> usize { method segment_index_size (line 123) | pub fn segment_index_size(&self) -> usize { type IPAddrExt (line 145) | pub trait IPAddrExt { method ipaddr_bytes (line 146) | fn ipaddr_bytes(&self) -> Vec; method encode_ipaddr_bytes (line 148) | fn encode_ipaddr_bytes(&self) -> Vec; method ipaddr_bytes (line 152) | fn ipaddr_bytes(&self) -> Vec { method encode_ipaddr_bytes (line 159) | fn encode_ipaddr_bytes(&self) -> Vec { FILE: maker/rust/maker/src/main.rs function main (line 9) | fn main() -> Result<()> { FILE: maker/rust/maker/src/maker.rs type Maker (line 15) | pub struct Maker { method new (line 25) | pub fn new( method set_vector_index (line 63) | fn set_vector_index(&mut self, ip: &[u8], ptr: u32) -> Result<()> { method start (line 75) | pub fn start(&mut self) -> Result<()> { FILE: maker/rust/maker/src/segment.rs type IpPlusEq (line 14) | pub trait IpPlusEq { method ip_plus_eq (line 15) | fn ip_plus_eq(&self, other: &Self) -> bool; method ip_plus_eq (line 19) | fn ip_plus_eq(&self, other: &Self) -> bool { type Segment (line 29) | pub struct Segment { method from_file (line 55) | pub fn from_file( method split (line 125) | pub fn split(self) -> Result> { function region_filter (line 35) | fn region_filter(region: &str, filter_fields: &[usize]) -> Result {