View Source locus_mmdb_data_codec (locus v2.3.7)

API for working with MMDB - data codec

Link to this section Summary

Link to this section Types

Specs

index() :: non_neg_integer().

Link to this section Functions

Link to this function

parse_all(FullData, Raw)

View Source

Specs

parse_all(binary(), boolean()) -> [locus_mmdb_data:value() | locus_mmdb_data_raw:value()].
Link to this function

parse_on_index(Index, DataSection, Raw)

View Source

Specs

parse_on_index(Index, DataSection, Raw) -> {Value | RawValue, RemainingData}
                  when
                      Index :: index(),
                      DataSection :: binary(),
                      Raw :: boolean(),
                      Value :: locus_mmdb_data:value(),
                      RawValue :: locus_mmdb_data_raw:value(),
                      RemainingData :: binary().

Attempts to parse either the Value or RawValue (depending on the Raw flag) at Index in DataSection.

Will crash upon invalid/unrecognized data, invalid pointers or cyclic pointer chasing (i.e. loops.)
Link to this function

validate_indices_in_tree(BitArray, VisitedBitArray, MapKeysBitArray, BatchSize, BatchOffset, Data, Journal)

View Source

Specs

validate_indices_in_tree(locus_shared_bitarray:t(),
                         locus_shared_bitarray:t(),
                         locus_shared_bitarray:t(),
                         pos_integer(),
                         non_neg_integer(),
                         binary(),
                         locus_mmdb_check_journal:t()) ->
                            ok.