Back to

Package hierarchy

Latest Go to latest

The latest major version is .

Published: Sep 8, 2020 | License: Apache-2.0 | Module:


Package hierarchy contains functions to set and get hierarchy string from addresses.

This package is experimental.


func Get

func Get(addr resolver.Address) []string

Get returns the hierarchical path of addr.

func Group

func Group(addrs []resolver.Address) map[string][]resolver.Address

Group splits a slice of addresses into groups based on the first hierarchy path. The first hierarchy path will be removed from the result.

Input: [

{addr0, path: [p0, wt0]}
{addr1, path: [p0, wt1]}
{addr2, path: [p1, wt2]}
{addr3, path: [p1, wt3]}


Addresses will be split into p0/p1, and the p0/p1 will be removed from the path.

Output: {

p0: [
  {addr0, path: [wt0]},
  {addr1, path: [wt1]},
p1: [
  {addr2, path: [wt2]},
  {addr3, path: [wt3]},


If hierarchical path is not set, or has no path in it, the address is dropped.

func Set

func Set(addr resolver.Address, path []string) resolver.Address

Set overrides the hierarchical path in addr with path.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier