id32

package
v0.0.0-...-54d7d0b Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: Apache-2.0 Imports: 7 Imported by: 4

Documentation

Index

Constants

View Source
const IDBitSize = uint8(32)

Variables

This section is empty.

Functions

func IsLeftBitSet

func IsLeftBitSet(id uint64) bool

func LastID

func LastID(id tree.ID) tree.ID

func NewID

func NewID(id uint32, length uint8) tree.ID

func ParseRange

func ParseRange(s string) (tree.Range, error)

func RangeFrom

func RangeFrom(from, to uint32) tree.Range

func RangeOfID

func RangeOfID(id tree.ID) tree.Range

Range returns the inclusive range of IPs that p covers.

If p is zero or otherwise invalid, Range returns the zero value.

Types

type IDSet

type IDSet struct {
	// contains filtered or unexported fields
}

func (*IDSet) IDs

func (s *IDSet) IDs() []tree.ID

Prefixes returns the minimum and sorted set of IP prefixes that covers s.

func (*IDSet) Ranges

func (s *IDSet) Ranges() []tree.Range

Ranges returns the minimum and sorted set of IP ranges that covers s.

func (*IDSet) RemoveFreePrefix

func (s *IDSet) RemoveFreePrefix(bitLen uint8) (tree.ID, *IDSet, bool)

RemoveFreePrefix splits s into a Prefix of length bitLen and a new IPSet with that prefix removed.

If no contiguous prefix of length bitLen exists in s, RemoveFreePrefix returns ok=false.

type IDSetBuilder

type IDSetBuilder struct {
	// contains filtered or unexported fields
}

func (*IDSetBuilder) AddId

func (s *IDSetBuilder) AddId(id tree.ID)

func (*IDSetBuilder) AddRange

func (s *IDSetBuilder) AddRange(r tree.Range)

func (*IDSetBuilder) AddSet

func (s *IDSetBuilder) AddSet(b *IDSet)

AddSet adds all IPs in b to s.

func (*IDSetBuilder) IPSet

func (s *IDSetBuilder) IPSet() (*IDSet, error)

func (*IDSetBuilder) RemoveId

func (s *IDSetBuilder) RemoveId(id tree.ID)

RemoveId removes all Ids in p from s.

func (*IDSetBuilder) RemoveRange

func (s *IDSetBuilder) RemoveRange(r tree.Range)

RemoveRange removes all IPs in r from s.

Jump to

Keyboard shortcuts

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