hierarchy

package
v0.0.0-...-552da36 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 25, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

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

This package is experimental.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL