func (c *Cache) Get(name string) (rrs rr.RRs, hit bool) {
	c.rwm.RLock()         // R++
	defer c.rwm.RUnlock() // R--

	var parts rr.Parts
	now := time.Now().Unix()
	if parts, hit = c.get(name); hit {
		rrs = parts.Join()
		for _, v := range rrs {
			v.TTL = int32(int64(v.TTL) + secs0 - now)
		}
	}

	return
}
// Get will return rrs and true if non expired cached RRs owned by name are present in the cache.
// If Get encounters expired RRs they are scheduled for removal and not returned.
Get will return rrs and true if non expired cached RRs owned by name are present in the cache.
If Get encounters expired RRs they are scheduled for removal and not returned.
// Get will return rrs and true if non expired cached RRs owned by name are present in the cache . // If Get encounters expired RRs they are scheduled for removal and not returned .
func (c *Cache) Get(name string) (rrs rr.RRs, hit bool) {
	c.rwm.RLock()         
	defer c.rwm.RUnlock() 
	var parts rr.Parts
	now := time.Now().Unix()
	if parts, hit = c.get(name); hit {
		rrs = parts.Join()
		for _, v := range rrs {
			v.TTL = int32(int64(v.TTL) + secs0 - now)
		}
	}
	return
}
func ( c * Cache ) Get ( name string ) ( rrs rr . RRs , hit bool ) { c . rwm . RLock ( ) defer c . rwm . RUnlock ( ) var parts rr . Parts now := time . Now ( ) . Unix ( ) if parts , hit = c . get ( name ) ; hit { rrs = parts . Join ( ) for _ , v := range rrs { v . TTL = int32 ( int64 ( v . TTL ) + secs0 - now ) } } return }
Get will return rrs and true if non expired cached RRs owned by name are present in the cache.
Get will return rrs and true if non expired cached RRs owned by name are present in the cache .
// R++ // R--