func (s *store) Get(nodePath string, recursive, sorted bool) (*Event, error) {
	var err *v2error.Error

	s.worldLock.RLock()
	defer s.worldLock.RUnlock()

	defer func() {
		if err == nil {
			s.Stats.Inc(GetSuccess)
			if recursive {
				reportReadSuccess(GetRecursive)
			} else {
				reportReadSuccess(Get)
			}
			return
		}

		s.Stats.Inc(GetFail)
		if recursive {
			reportReadFailure(GetRecursive)
		} else {
			reportReadFailure(Get)
		}
	}()

	n, err := s.internalGet(nodePath)
	if err != nil {
		return nil, err
	}

	e := newEvent(Get, nodePath, n.ModifiedIndex, n.CreatedIndex)
	e.EtcdIndex = s.CurrentIndex
	e.Node.loadInternalNode(n, recursive, sorted, s.clock)

	return e, nil
}
func (s *store) Get(nodePath string, recursive, sorted bool) (*Event, error) {
	var err *v2error.Error

	s.worldLock.RLock()
	defer s.worldLock.RUnlock()

	defer func() {
		if err == nil {
			s.Stats.Inc(GetSuccess)
			if recursive {
				reportReadSuccess(GetRecursive)
			} else {
				reportReadSuccess(Get)
			}
			return
		}

		s.Stats.Inc(GetFail)
		if recursive {
			reportReadFailure(GetRecursive)
		} else {
			reportReadFailure(Get)
		}
	}()

	n, err := s.internalGet(nodePath)
	if err != nil {
		return nil, err
	}

	e := newEvent(Get, nodePath, n.ModifiedIndex, n.CreatedIndex)
	e.EtcdIndex = s.CurrentIndex
	e.Node.loadInternalNode(n, recursive, sorted, s.clock)

	return e, nil
}
func ( s * store ) Get ( nodePath string , recursive , sorted bool ) ( * Event , error ) { var err * v2error . Error s . worldLock . RLock ( ) defer s . worldLock . RUnlock ( ) defer func ( ) { if err == nil { s . Stats . Inc ( GetSuccess ) if recursive { reportReadSuccess ( GetRecursive ) } else { reportReadSuccess ( Get ) } return } s . Stats . Inc ( GetFail ) if recursive { reportReadFailure ( GetRecursive ) } else { reportReadFailure ( Get ) } } ( ) n , err := s . internalGet ( nodePath ) if err != nil { return nil , err } e := newEvent ( Get , nodePath , n . ModifiedIndex , n . CreatedIndex ) e . EtcdIndex = s . CurrentIndex e . Node . loadInternalNode ( n , recursive , sorted , s . clock ) return e , nil }
// Get returns a get event.
// If recursive is true, it will return all the content under the node path.
// If sorted is true, it will sort the content by keys.
Get returns a get event . If recursive is true it will return all the content under the node path . If sorted is true it will sort the content by keys .