Documentation
¶
Overview ¶
Package hierarchy contains functions to set and get hierarchy string from addresses.
This package is experimental.
Index ¶
- func FromEndpoint(endpoint resolver.Endpoint) []string
- func Get(addr resolver.Address) []string
- func Group(addrs []resolver.Address) map[string][]resolver.Address
- func GroupEndpoints(endpoints []resolver.Endpoint) map[string][]resolver.Endpoint
- func Set(addr resolver.Address, path []string) resolver.Address
- func SetInEndpoint(endpoint resolver.Endpoint, path []string) resolver.Endpoint
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromEndpoint ¶ added in v1.69.0
FromEndpoint returns the hierarchical path of endpoint.
func Group ¶
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 GroupEndpoints ¶ added in v1.69.0
GroupEndpoints splits a slice of endpoints into groups based on the first hierarchy path. The first hierarchy path will be removed from the result.
Input: [
{endpoint0, path: [p0, wt0]}
{endpoint1, path: [p0, wt1]}
{endpoint2, path: [p1, wt2]}
{endpoint3, path: [p1, wt3]}
]
Endpoints will be split into p0/p1, and the p0/p1 will be removed from the path.
Output:
{
p0: [
{endpoint0, path: [wt0]},
{endpoint1, path: [wt1]},
],
p1: [
{endpoint2, path: [wt2]},
{endpoint3, path: [wt3]},
],
}
If hierarchical path is not set, or has no path in it, the endpoint is dropped.
Types ¶
This section is empty.