Add iterator for RDATA fields
k0ekk0ek opened this issue · comments
The user can iterate over each individual rdata field from the callback(s), which is used by NSD to add names in a different fashion to improve serve performance (names are replaced by pointers to the domain structure). Currently the rrtype specific parse function instantiates a buffer to hold a pointer to the starting octet in rdata and pairs it with a zone_field_info_t
. This worked well up until now because we assumed synchronous operation. However, as stated in #39, it seems like a quick win to allow for asynchronous operation between parsing and database insertion (the quickest operation basically does not impact load performance). As a consequence, the stack allocated buffer in the rrtype parse function cannot be used in the callback. Of course, we need need multiple buffers too (more details on #39).
Based on the outcome of #98, this issue may be closed (or not).
zone_type_info_t
and zone_field_info_t
will be simplified and private. The application needs to understand the wire representation for all RRTYPEs it wants to support and can fallback to "generic" behavior for RRTYPEs it does not know about. Closing this issue.