Documentation ¶
Index ¶
- type AddressContainer
- type AddressTree
- func (addrTree *AddressTree) AddIP(toAdd *net.IP) bool
- func (addrTree *AddressTree) AddIPs(toAdd []*net.IP, emitFreq int) (int, int)
- func (addrTree *AddressTree) ContainsIP(toCheck *net.IP) bool
- func (addrTree *AddressTree) CountIPsInGenRange(fromRange *GenRange) int
- func (addrTree *AddressTree) CountIPsInRange(fromRange *net.IPNet) (uint32, error)
- func (addrTree *AddressTree) GetAllIPs() []*net.IP
- func (addrTree *AddressTree) GetIPsInGenRange(fromRange *GenRange) []*net.IP
- func (addrTree *AddressTree) GetIPsInRange(fromRange *net.IPNet) ([]*net.IP, error)
- func (addrTree *AddressTree) Save(filePath string) error
- func (addrTree *AddressTree) Size() int
- type AddressTreeNode
- type BinaryAddressContainer
- func (container *BinaryAddressContainer) AddIP(toAdd *net.IP) bool
- func (container *BinaryAddressContainer) AddIPs(toAdd []*net.IP, emitFreq int) (int, int)
- func (container *BinaryAddressContainer) ContainsIP(toCheck *net.IP) bool
- func (container *BinaryAddressContainer) CountIPsInGenRange(fromRange *GenRange) int
- func (container *BinaryAddressContainer) CountIPsInRange(fromRange *net.IPNet) (uint32, error)
- func (container *BinaryAddressContainer) GetAllIPs() []*net.IP
- func (container *BinaryAddressContainer) GetIPsInGenRange(fromRange *GenRange) []*net.IP
- func (container *BinaryAddressContainer) GetIPsInRange(fromRange *net.IPNet) ([]*net.IP, error)
- func (container *BinaryAddressContainer) Size() int
- type ClusterModel
- func (clusterModel *ClusterModel) GenerateAddress(jitter float64) *net.IP
- func (clusterModel *ClusterModel) GenerateAddresses(generateCount int, jitter float64) []*net.IP
- func (clusterModel *ClusterModel) GenerateAddressesFromNetwork(generateCount int, jitter float64, network *net.IPNet) ([]*net.IP, error)
- func (clusterModel *ClusterModel) GenerateAddressesFromNetworkWithCallback(generateCount int, jitter float64, network *net.IPNet, fn addrProcessFunc) ([]*net.IP, error)
- func (clusterModel *ClusterModel) Save(filePath string) error
- type ClusterSet
- func (clusterSet *ClusterSet) AddCluster(toAdd *GenCluster, withUpdate bool)
- func (clusterSet *ClusterSet) AddClusters(toAdd []*GenCluster)
- func (clusterSet *ClusterSet) GenerateAddresses(generateCount int, jitter float64) []*net.IP
- func (clusterSet *ClusterSet) ResetCounts(corpus AddressContainer)
- func (clusterSet *ClusterSet) Save(filePath string) error
- type GenCluster
- type GenRange
- func (genRange *GenRange) AddIP(toAdd *net.IP)
- func (genRange *GenRange) AddIPs(toAdd []*net.IP)
- func (genRange *GenRange) Contains(toCheck *GenRange) bool
- func (genRange *GenRange) Copy() *GenRange
- func (genRange *GenRange) CopyWithIPs(newIPs []*net.IP) *GenRange
- func (genRange *GenRange) CopyWithIndices(newIndices []int) *GenRange
- func (genRange *GenRange) Equals(otherRange *GenRange) bool
- func (genRange *GenRange) GetIP() *net.IP
- func (genRange *GenRange) GetMask() *GenRangeMask
- func (genRange *GenRange) GetTreeNybbles() []uint16
- func (genRange *GenRange) Size() float64
- type GenRangeMask
- type RangeTree
- type RangeTreeNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddressContainer ¶
type AddressContainer interface { AddIP(toAdd *net.IP) bool AddIPs(toAdd []*net.IP, emitFreq int) (int, int) GetAllIPs() []*net.IP GetIPsInRange(fromRange *net.IPNet) ([]*net.IP, error) CountIPsInRange(fromRange *net.IPNet) (uint32, error) ContainsIP(toCheck *net.IP) bool CountIPsInGenRange(fromRange *GenRange) int GetIPsInGenRange(fromRange *GenRange) []*net.IP Size() int }
type AddressTree ¶
type AddressTree struct { ChildrenCount uint32 `msgpack:"c"` Children map[uint8]*AddressTreeNode `msgpack:"h"` }
func CreateFromAddresses ¶
func CreateFromAddresses(toAdd []*net.IP, emitFreq int) *AddressTree
func LoadAddressTreeFromFile ¶
func LoadAddressTreeFromFile(filePath string) (*AddressTree, error)
func (*AddressTree) ContainsIP ¶
func (addrTree *AddressTree) ContainsIP(toCheck *net.IP) bool
func (*AddressTree) CountIPsInGenRange ¶
func (addrTree *AddressTree) CountIPsInGenRange(fromRange *GenRange) int
func (*AddressTree) CountIPsInRange ¶
func (addrTree *AddressTree) CountIPsInRange(fromRange *net.IPNet) (uint32, error)
func (*AddressTree) GetAllIPs ¶
func (addrTree *AddressTree) GetAllIPs() []*net.IP
func (*AddressTree) GetIPsInGenRange ¶
func (addrTree *AddressTree) GetIPsInGenRange(fromRange *GenRange) []*net.IP
func (*AddressTree) GetIPsInRange ¶
func (*AddressTree) Save ¶
func (addrTree *AddressTree) Save(filePath string) error
func (*AddressTree) Size ¶
func (addrTree *AddressTree) Size() int
type AddressTreeNode ¶
type AddressTreeNode struct { ChildrenCount uint32 `msgpack:"c"` Children map[uint8]*AddressTreeNode `msgpack:"h"` Depth int `msgpack:"d"` }
type BinaryAddressContainer ¶
type BinaryAddressContainer struct {
// contains filtered or unexported fields
}
func ContainerFromAddrs ¶
func ContainerFromAddrs(toProcess []*net.IP) *BinaryAddressContainer
func EmptyContainer ¶
func EmptyContainer() *BinaryAddressContainer
func (*BinaryAddressContainer) AddIP ¶
func (container *BinaryAddressContainer) AddIP(toAdd *net.IP) bool
func (*BinaryAddressContainer) ContainsIP ¶
func (container *BinaryAddressContainer) ContainsIP(toCheck *net.IP) bool
func (*BinaryAddressContainer) CountIPsInGenRange ¶
func (container *BinaryAddressContainer) CountIPsInGenRange(fromRange *GenRange) int
func (*BinaryAddressContainer) CountIPsInRange ¶
func (container *BinaryAddressContainer) CountIPsInRange(fromRange *net.IPNet) (uint32, error)
func (*BinaryAddressContainer) GetAllIPs ¶
func (container *BinaryAddressContainer) GetAllIPs() []*net.IP
func (*BinaryAddressContainer) GetIPsInGenRange ¶
func (container *BinaryAddressContainer) GetIPsInGenRange(fromRange *GenRange) []*net.IP
func (*BinaryAddressContainer) GetIPsInRange ¶
func (*BinaryAddressContainer) Size ¶
func (container *BinaryAddressContainer) Size() int
type ClusterModel ¶
type ClusterModel struct { ClusterSet *ClusterSet `msgpack:"c"` NybbleCounts []map[uint8]int `msgpack:"n"` // contains filtered or unexported fields }
func CreateClusteringModel ¶
func CreateClusteringModel(fromAddrs []*net.IP) *ClusterModel
func LoadModelFromBytes ¶
func LoadModelFromBytes(fromBytes []byte) (*ClusterModel, error)
func LoadModelFromFile ¶
func LoadModelFromFile(filePath string) (*ClusterModel, error)
func (*ClusterModel) GenerateAddress ¶
func (clusterModel *ClusterModel) GenerateAddress(jitter float64) *net.IP
func (*ClusterModel) GenerateAddresses ¶
func (clusterModel *ClusterModel) GenerateAddresses(generateCount int, jitter float64) []*net.IP
func (*ClusterModel) GenerateAddressesFromNetwork ¶
func (*ClusterModel) GenerateAddressesFromNetworkWithCallback ¶
func (*ClusterModel) Save ¶
func (clusterModel *ClusterModel) Save(filePath string) error
type ClusterSet ¶
type ClusterSet struct { Clusters []*GenCluster `msgpack:"c"` Captured int `msgpack:"a"` RangeSize int `msgpack:"s"` Density float64 `msgpack:"d"` }
func LoadClusterSetFromFile ¶
func LoadClusterSetFromFile(filePath string) (*ClusterSet, error)
func (*ClusterSet) AddCluster ¶
func (clusterSet *ClusterSet) AddCluster(toAdd *GenCluster, withUpdate bool)
func (*ClusterSet) AddClusters ¶
func (clusterSet *ClusterSet) AddClusters(toAdd []*GenCluster)
func (*ClusterSet) GenerateAddresses ¶
func (clusterSet *ClusterSet) GenerateAddresses(generateCount int, jitter float64) []*net.IP
func (*ClusterSet) ResetCounts ¶
func (clusterSet *ClusterSet) ResetCounts(corpus AddressContainer)
func (*ClusterSet) Save ¶
func (clusterSet *ClusterSet) Save(filePath string) error
type GenCluster ¶
type GenRange ¶
type GenRange struct { AddrNybbles []uint8 `msgpack:"n"` WildIndices map[int]internal.Empty `msgpack:"w"` }
func GetGenRangeFromIPs ¶
func (*GenRange) CopyWithIndices ¶
func (*GenRange) GetMask ¶
func (genRange *GenRange) GetMask() *GenRangeMask
func (*GenRange) GetTreeNybbles ¶
type GenRangeMask ¶
type RangeTree ¶
type RangeTree struct { ChildrenCount uint64 Children map[uint16]*RangeTreeNode }
func NewRangeTree ¶
func NewRangeTree() *RangeTree
func NewRangeTreeFromRanges ¶
func (*RangeTree) ContainsRange ¶
type RangeTreeNode ¶
type RangeTreeNode struct { ChildrenCount uint64 Children map[uint16]*RangeTreeNode Depth int }
Click to show internal directories.
Click to hide internal directories.