feat(erlang): add xdb header and dual-stack table/pool macros
This commit is contained in:
parent
a3b8d817ee
commit
211c374ee2
|
|
@ -18,6 +18,36 @@
|
||||||
|
|
||||||
-define(IP2REGION_POOL, ip2region_pool).
|
-define(IP2REGION_POOL, ip2region_pool).
|
||||||
|
|
||||||
|
%% xdb header field offsets (bytes)
|
||||||
|
-define(XDB_HEADER_VERSION_OFFSET, 0).
|
||||||
|
-define(XDB_HEADER_INDEX_POLICY_OFFSET, 2).
|
||||||
|
-define(XDB_HEADER_CREATED_AT_OFFSET, 4).
|
||||||
|
-define(XDB_HEADER_START_INDEX_PTR_OFFSET, 8).
|
||||||
|
-define(XDB_HEADER_END_INDEX_PTR_OFFSET, 12).
|
||||||
|
-define(XDB_HEADER_IP_VERSION_OFFSET, 16).
|
||||||
|
-define(XDB_HEADER_RUNTIME_PTR_BYTES_OFFSET, 18).
|
||||||
|
-define(XDB_HEADER_INFO_LENGTH, 256).
|
||||||
|
|
||||||
|
%% IP versions as stored in xdb header
|
||||||
|
-define(IP_VERSION_4, 4).
|
||||||
|
-define(IP_VERSION_6, 6).
|
||||||
|
|
||||||
|
%% Segment index sizes (bytes): start_ip + end_ip + data_len + data_ptr
|
||||||
|
-define(XDB_SEGMENT_INDEX_SIZE_V4, 14). %% 4 + 4 + 2 + 4
|
||||||
|
-define(XDB_SEGMENT_INDEX_SIZE_V6, 38). %% 16 + 16 + 2 + 4
|
||||||
|
|
||||||
|
%% Per-version ETS tables
|
||||||
|
-define(XDB_VECTOR_INDEX_V4, ets_xdb_vector_index_v4).
|
||||||
|
-define(XDB_VECTOR_INDEX_V6, ets_xdb_vector_index_v6).
|
||||||
|
-define(XDB_SEGMENT_INDEX_V4, ets_xdb_segment_index_v4).
|
||||||
|
-define(XDB_SEGMENT_INDEX_V6, ets_xdb_segment_index_v6).
|
||||||
|
-define(IP2REGION_CACHE_V4, ets_ip2region_cache_v4).
|
||||||
|
-define(IP2REGION_CACHE_V6, ets_ip2region_cache_v6).
|
||||||
|
|
||||||
|
%% Per-version pool names. ?IP2REGION_POOL is kept as the legacy v4 pool name.
|
||||||
|
-define(IP2REGION_POOL_V4, ip2region_pool_v4).
|
||||||
|
-define(IP2REGION_POOL_V6, ip2region_pool_v6).
|
||||||
|
|
||||||
-ifndef(IF).
|
-ifndef(IF).
|
||||||
-define(IF(C, T, F), case (C) of true -> (T); false -> (F) end).
|
-define(IF(C, T, F), case (C) of true -> (T); false -> (F) end).
|
||||||
-define(IF(C, T), ?IF(C, T, skip)).
|
-define(IF(C, T), ?IF(C, T, skip)).
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue