Documentation
¶
Index ¶
- func Bytes2String(b []byte) string
- func CIDRRange(cidr string) (start uint32, end uint32, err error)
- func Contains(s []string, e string) bool
- func FNVHash(key string) uint32
- func Hash(qname string) uint32
- func LongIPv4(ip string) uint32
- func NextPow2(a int) int
- func RReverseQname(s string) string
- func RandStringBytesMaskImprSrc(n int) []byte
- func ReverseQname(s string) string
- func ReverseQnames(qname []string) string
- func Shuffle(src []string) []string
- func StringToBytes(s string) []byte
- type CMap
- type MaxQueueUint64
- type MaxStackUint64
- type Shard
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RandStringBytesMaskImprSrc ¶
RandStringBytesMaskImprSrc return a random []byte with length n
func ReverseQnames ¶
ReverseQnames reverse names and make to fqdn
func StringToBytes ¶
StringToBytes converts string to byte slice.
Types ¶
type CMap ¶
CMap implements a concurrent map.
func NewSmallMap ¶
NewSmallMap return a small cache with permenent.
func (*CMap) Add ¶
Add adds a new element to the cache. If the element already exists it is overwritten.
type MaxQueueUint64 ¶
type MaxQueueUint64 struct {
// contains filtered or unexported fields
}
MaxQueueUint64 return max value at O(2)
func NewMaxQueueUint64 ¶
func NewMaxQueueUint64(size int) *MaxQueueUint64
NewMaxQueueUint64 return a new MaxQueueUint64
func (*MaxQueueUint64) Dequeue ¶
func (q *MaxQueueUint64) Dequeue() uint64
Dequeue one, return 0 if empty.
func (*MaxQueueUint64) Enqueue ¶
func (q *MaxQueueUint64) Enqueue(val uint64)
Enqueue a new value, if full, Dequeue one, and then Enqueue
func (*MaxQueueUint64) Max ¶
func (q *MaxQueueUint64) Max() uint64
Max return max value in queue, return 0 if empty.
type MaxStackUint64 ¶
type MaxStackUint64 struct {
// contains filtered or unexported fields
}
MaxStackUint64 return max value at O(1)
func (*MaxStackUint64) Empty ¶
func (s *MaxStackUint64) Empty() bool
Empty return true if stack empty
func (*MaxStackUint64) Max ¶
func (s *MaxStackUint64) Max() uint64
Max return max value in stack, if stack empty return 0.
func (*MaxStackUint64) Pop ¶
func (s *MaxStackUint64) Pop() uint64
Pop a value from stack, if stack empty, return 0
func (*MaxStackUint64) Push ¶
func (s *MaxStackUint64) Push(val uint64) bool
Push push a value to stack, refresh max value. Return true if success.