func (m *remoteCacheMap) get(key string) (value interface{}, ok bool, err error) {
	m.mu.Lock()
	e, ok := m.cache[key]
	m.mu.Unlock()
	if !ok {
		return nil, ok, nil
	}
	if e.ready != nil {
		<-e.ready
	}
	return e.value, ok, e.err
}
func (m *remoteCacheMap) get(key string) (value interface{}, ok bool, err error) {
	m.mu.Lock()
	e, ok := m.cache[key]
	m.mu.Unlock()
	if !ok {
		return nil, ok, nil
	}
	if e.ready != nil {
		<-e.ready
	}
	return e.value, ok, e.err
}
func ( m * remoteCacheMap ) get ( key string ) ( value interface { } , ok bool , err error ) { m . mu . Lock ( ) e , ok := m . cache [ key ] m . mu . Unlock ( ) if ! ok { return nil , ok , nil } if e . ready != nil { <- e . ready } return e . value , ok , e . err }
// get retrieves a value associated with the given key from the cache. ok will
// be true if the key exists in the cache, even if it's in the process of
// being fetched.
get retrieves a value associated with the given key from the cache . ok will be true if the key exists in the cache even if it s in the process of being fetched .