Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FuncOnLpmIP ¶
type FuncOnLpmIP func(val interface{}) bool
FuncOnLpmIP is the type of func which will operate on the value associated with the lpm ip.
type FuncOnVals ¶
type FuncOnVals func(val interface{}) interface{}
FuncOnVals is the type of the func which will operate on each value and will return a new value for each associated value.
type IPcache ¶
type IPcache interface {
// Put takes an argument an ip address, mask and value.
Put(net.IP, int, interface{})
// Get takes an argument the IP address and mask and returns the value that is stored for
// that key.
Get(net.IP, int) (interface{}, bool)
// RunFuncOnLpmIP function takes as an argument an IP address and a function. It finds the
// subnet to which this IP belongs with the longest prefix match. It then calls the
// function supplied by the user on the value stored and if it succeeds then it returns.
RunFuncOnLpmIP(net.IP, FuncOnLpmIP)
// RunFuncOnVals takes an argument a function which is called on all the values stored in
// the cache. This can be used to update the old values with the new values. If the new
// value is nil, it will delete the key.
RunFuncOnVals(FuncOnVals)
}
IPcache is an interface which provides functionality to store ip's and do longest prefix match
func NewIPCache ¶
func NewIPCache() IPcache
NewIPCache creates an object which is implementing the interface IPcache
Click to show internal directories.
Click to hide internal directories.