etcdserver/api/v2v3/store.go
func (s *v2v3Store) mkV2Node(kv *mvccpb.KeyValue) *v2store.NodeExtern {
	if kv == nil {
		return nil
	}
	n := &v2store.NodeExtern{
		Key:           s.mkNodePath(string(kv.Key)),
		Dir:           kv.Key[len(kv.Key)-1] == '/',
		CreatedIndex:  mkV2Rev(kv.CreateRevision),
		ModifiedIndex: mkV2Rev(kv.ModRevision),
	}
	if !n.Dir {
		v := string(kv.Value)
		n.Value = &v
	}
	return n
}
func (s *v2v3Store) mkV2Node(kv *mvccpb.KeyValue) *v2store.NodeExtern {
	if kv == nil {
		return nil
	}
	n := &v2store.NodeExtern{
		Key:           s.mkNodePath(string(kv.Key)),
		Dir:           kv.Key[len(kv.Key)-1] == '/',
		CreatedIndex:  mkV2Rev(kv.CreateRevision),
		ModifiedIndex: mkV2Rev(kv.ModRevision),
	}
	if !n.Dir {
		v := string(kv.Value)
		n.Value = &v
	}
	return n
}
func ( s * v2v3Store ) mkV2Node ( kv * mvccpb . KeyValue ) * v2store . NodeExtern { if kv == nil { return nil } n := & v2store . NodeExtern { Key : s . mkNodePath ( string ( kv . Key ) ) , Dir : kv . Key [ len ( kv . Key ) - 1 ] == '/' , CreatedIndex : mkV2Rev ( kv . CreateRevision ) , ModifiedIndex : mkV2Rev ( kv . ModRevision ) , } if ! n . Dir { v := string ( kv . Value ) n . Value = & v } return n }
// mkV2Node creates a V2 NodeExtern from a V3 KeyValue
mkV2Node creates a V2 NodeExtern from a V3 KeyValue