utils

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2021 License: BSD-3-Clause Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyBytes

func CopyBytes(b []byte) []byte

CopyBytes returns a copy of the provided byte slice. If nil is provided, nil will be returned.

func IsSorted2DBytes

func IsSorted2DBytes(arr [][]byte) bool

IsSorted2DBytes returns true iff [arr] is sorted

func IsSortedAndUnique

func IsSortedAndUnique(data sort.Interface) bool

IsSortedAndUnique returns true if the elements in the data are unique and sorted.

func IsSortedAndUniqueUint32

func IsSortedAndUniqueUint32(arr []uint32) bool

IsSortedAndUniqueUint32 returns true if the array of uint32s are sorted and unique

func IsSortedAndUniqueUint64

func IsSortedAndUniqueUint64(u64 []uint64) bool

IsSortedAndUniqueUint64 returns true if the array of uint64s are sorted and unique

func RandomBytes

func RandomBytes(n int) []byte

RandomBytes returns a slice of n random bytes Intended for use in testing

func Sort2DBytes

func Sort2DBytes(arr [][]byte)

Sort2DBytes sorts a 2D byte array Each byte array is not sorted internally; the byte arrays are sorted relative to another.

func SortUint32

func SortUint32(u32 []uint32)

SortUint32 sorts an uint32 array

func SortUint64

func SortUint64(u64 []uint64)

SortUint64 sorts an uint64 array

Types

type AtomicBool

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

func (*AtomicBool) GetValue

func (a *AtomicBool) GetValue() bool

func (*AtomicBool) SetValue

func (a *AtomicBool) SetValue(b bool)

type AtomicInterface

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

func NewAtomicInterface

func NewAtomicInterface(v interface{}) *AtomicInterface

func (*AtomicInterface) GetValue

func (a *AtomicInterface) GetValue() interface{}

func (*AtomicInterface) SetValue

func (a *AtomicInterface) SetValue(v interface{})

type DynamicIPDesc

type DynamicIPDesc struct {
	*IPDescContainer
}

func NewDynamicIPDesc

func NewDynamicIPDesc(ip net.IP, port uint16) DynamicIPDesc

func (*DynamicIPDesc) IP

func (i *DynamicIPDesc) IP() IPDesc

func (*DynamicIPDesc) Update

func (i *DynamicIPDesc) Update(ip IPDesc)

func (*DynamicIPDesc) UpdateIP

func (i *DynamicIPDesc) UpdateIP(ip net.IP)

func (*DynamicIPDesc) UpdatePort

func (i *DynamicIPDesc) UpdatePort(port uint16)

type IPCertDesc

type IPCertDesc struct {
	Cert      *x509.Certificate
	IPDesc    IPDesc
	Time      uint64
	Signature []byte
}

type IPDesc

type IPDesc struct {
	IP   net.IP `json:"ip"`
	Port uint16 `json:"port"`
}

func ToIPDesc

func ToIPDesc(str string) (IPDesc, error)

func (IPDesc) Equal

func (ipDesc IPDesc) Equal(otherIPDesc IPDesc) bool

func (IPDesc) IsPrivate

func (ipDesc IPDesc) IsPrivate() bool

IsPrivate attempts to decide if the ip address in this descriptor is a local ip address. This function was taken from: https://stackoverflow.com/a/50825191/3478466

func (IPDesc) IsZero

func (ipDesc IPDesc) IsZero() bool

IsZero returns if the IP or port is zeroed out

func (IPDesc) PortString

func (ipDesc IPDesc) PortString() string

func (IPDesc) String

func (ipDesc IPDesc) String() string

type IPDescContainer

type IPDescContainer struct {
	*IPDesc
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

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