This PR adds zonefile/parsed.rs, zonetree/ and related examples/, which together enable, and show a library user how, to go from a zone file in presentation format to an in-memory tree of zones which can be queried to provide an answer, or walked (iterated over).
The tree also supports versioned write operations and a trait based zone implementation allowing for the in-memory tree for a zone to instead be some other (a)synchornous backing store (as demonstrated by the mysql-zone.rs example).
It also simplifies the return type of Service::call() slightly by moving part of the type signature to the Transaction type.
This PR adds
zonefile/parsed.rs
,zonetree/
and relatedexamples/
, which together enable, and show a library user how, to go from a zone file in presentation format to an in-memory tree of zones which can be queried to provide an answer, or walked (iterated over).The tree also supports versioned write operations and a trait based zone implementation allowing for the in-memory tree for a zone to instead be some other (a)synchornous backing store (as demonstrated by the
mysql-zone.rs
example).It also simplifies the return type of
Service::call()
slightly by moving part of the type signature to theTransaction
type.