func (c *Cache) Enum(root string, handler func([]string, rr.Bytes) bool) {
	c.rwm.RLock()         // R++
	defer c.rwm.RUnlock() // R--

	c.tree.Enum(root, func(path []string, data interface{}) bool {
		switch x := data.(type) {
		case rr.Bytes:
			return handler(path, x)
		}

		return true
	})
}
// Enum will enumerate Cache. Writers are blocked until Enum finishes.
Enum will enumerate Cache. Writers are blocked until Enum finishes.
// Enum will enumerate Cache . Writers are blocked until Enum finishes .
func (c *Cache) Enum(root string, handler func([]string, rr.Bytes) bool) {
	c.rwm.RLock()         
	defer c.rwm.RUnlock() 
	c.tree.Enum(root, func(path []string, data interface{}) bool {
		switch x := data.(type) {
		case rr.Bytes:
			return handler(path, x)
		}
		return true
	})
}
func ( c * Cache ) Enum ( root string , handler func ( [ ] string , rr . Bytes ) bool ) { c . rwm . RLock ( ) defer c . rwm . RUnlock ( ) c . tree . Enum ( root , func ( path [ ] string , data interface { } ) bool { switch x := data . ( type ) { case rr . Bytes : return handler ( path , x ) } return true } ) }
Enum will enumerate Cache.
Enum will enumerate Cache .
// R++ // R--