GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
DNSTABLE_MERGE_FUNC(3)   DNSTABLE_MERGE_FUNC(3)

dnstable_merge_func - libmtbl merge function for dnstable key-value entries

#include <dnstable.h>

void
dnstable_merge_func(void *clos,
                    const uint8_t *key, size_t len_key,
                    const uint8_t *val0, size_t len_val0,
                    const uint8_t *val1, size_t len_val1,
                    uint8_t **merged_val, size_t *len_merged_val);

This is the libmtbl merging function for dnstable key-value entries. dnstable is built on libmtbl, and libmtbl requires a “merge function” to resolve conflicting values between identical keys. The symbol dnstable_merge_func can be provided to libmtbl functions requiring a merge function when dealing with dnstable key-value data.

There are four dnstable MTBL key-value entry types. dnstable_merge_func handles them in the following manner:

ENTRY_TYPE_RRSET_NAME_FWD and ENTRY_TYPE_RDATA_NAME_REV entries: In dnstable versions before 0.12.0, these have no associated value (that is, the values for these types is zero length). A zero-length byte array is provided as the merged value. As of version 0.12.0, the value is an RRtype union described in the dnstable-encoding(5) manual page.

ENTRY_TYPE_RRSET and ENTRY_TYPE_RDATA entries: These have an identical encoding format. These types encode a triplet of varint-encoded integers representing the time_first, time_last, and count value fields. A new triplet of varint-encoded integers is generated as the merged value as follows:

•The earliest (that is, smallest) of the two time_first values is taken as the merged time_first value.

•The latest (that is, largest) of the two time_last values is taken as the merged time_last value.

•The two count values are added together.

dnstable-encoding(5), mtbl_merger(3)
07/02/2021  

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.