Skip to content

Efficient node data storage, libknot refactoring

Ghost User requested to merge new_node into master

Changes:

  • new file rr.h:

    • contains functions and structures that work with RRs or RR arrays.
    • this enables us to have RRSet-like functionality inside node_t
  • node no longer stores knot_rrset_t, but only structure containing type, data and additional nodes.

  • RRSet API cleaned up a lot:

  • RRSet is now an entrypoint into zone structure

  • It is no longer possible to create RRSet that is not sorted or one that contains duplicates

  • Obsolete getter functions removed

  • Node and zone contents API cleaned up

  • DDNS rewritten to changeset creation only.

  • Still far from perfect, but this is the best I can do without new zone API

  • Over-complicated prereq check rewritten too

  • Changeset application greatly simplified, no need to explicitly handle changes anymore

  • Application now preserves the changeset structure, everything is copied

  • We could probably simplify the code a lot because of this at many places

Merge request reports