aboutsummaryrefslogtreecommitdiff
path: root/plugin/file/tree/all.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2019-07-18 17:44:47 +0000
committerGravatar GitHub <noreply@github.com> 2019-07-18 17:44:47 +0000
commit1d5095cf6789fc26c7eface8b68d747d85dbf02e (patch)
treebd3ced7596b054d9f056cd5ac3787a615fc66189 /plugin/file/tree/all.go
parent527772fc5f27acf1b12d7012bde6c95588d79f50 (diff)
downloadcoredns-1d5095cf6789fc26c7eface8b68d747d85dbf02e.tar.gz
coredns-1d5095cf6789fc26c7eface8b68d747d85dbf02e.tar.zst
coredns-1d5095cf6789fc26c7eface8b68d747d85dbf02e.zip
plugin/file: Rename do to walk and cleanup and document (#2987)
* plugin/file: Rename do to walk, cleanup and document * This renames Do to Walk to be more inline with Go standards. Also make it return an error instead of a bool. Also give give walk access to rrs. Alternatively e.m could be exported, but just access the map of rrs should work as well. Another alternative would be adding a whole bunch of helper functions, but those need grab and return the data. Just having access to the rrs should be easiest for most Walks. * It adds Type and TypeForWildcard to show the different functions * *Removes* the identical RR check when inserting; this was only done for A, AAAA and MX and not finished; removed under the mantra garbage in garbage out. * Reuses Types to return all the types in an *tree.Elem Signed-off-by: Miek Gieben <miek@miek.nl> * better comments Signed-off-by: Miek Gieben <miek@miek.nl>
Diffstat (limited to 'plugin/file/tree/all.go')
-rw-r--r--plugin/file/tree/all.go29
1 files changed, 1 insertions, 28 deletions
diff --git a/plugin/file/tree/all.go b/plugin/file/tree/all.go
index fd806365f..e1fc5b392 100644
--- a/plugin/file/tree/all.go
+++ b/plugin/file/tree/all.go
@@ -1,6 +1,6 @@
package tree
-// All traverses tree and returns all elements
+// All traverses tree and returns all elements.
func (t *Tree) All() []*Elem {
if t.Root == nil {
return nil
@@ -19,30 +19,3 @@ func (n *Node) all(found []*Elem) []*Elem {
}
return found
}
-
-// Do performs fn on all values stored in the tree. A boolean is returned indicating whether the
-// Do traversal was interrupted by an Operation returning true. If fn alters stored values' sort
-// relationships, future tree operation behaviors are undefined.
-func (t *Tree) Do(fn func(e *Elem) bool) bool {
- if t.Root == nil {
- return false
- }
- return t.Root.do(fn)
-}
-
-func (n *Node) do(fn func(e *Elem) bool) (done bool) {
- if n.Left != nil {
- done = n.Left.do(fn)
- if done {
- return
- }
- }
- done = fn(n.Elem)
- if done {
- return
- }
- if n.Right != nil {
- done = n.Right.do(fn)
- }
- return
-}