Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: impl/memory/raw_datastore_data.go

Issue 1247283003: Improve docs (Closed) Base URL: https://github.com/luci/gae.git@reduce_size
Patch Set: fix comments Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « impl/memory/plist.go ('k') | impl/prod/context.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package memory 5 package memory
6 6
7 import ( 7 import (
8 "bytes" 8 "bytes"
9 "errors" 9 "errors"
10 "fmt" 10 "fmt"
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 return pl[0].Value().(int64) 74 return pl[0].Value().(int64)
75 } 75 }
76 panic(fmt.Errorf("__version__ property missing or wrong: %v", pm )) 76 panic(fmt.Errorf("__version__ property missing or wrong: %v", pm ))
77 } 77 }
78 return 0 78 return 0
79 } 79 }
80 80
81 func incrementLocked(ents *memCollection, key []byte) int64 { 81 func incrementLocked(ents *memCollection, key []byte) int64 {
82 ret := curVersion(ents, key) + 1 82 ret := curVersion(ents, key) + 1
83 buf := &bytes.Buffer{} 83 buf := &bytes.Buffer{}
84 » rds.WritePropertyMap( 84 » rds.PropertyMap{"__version__": {rds.MkPropertyNI(ret)}}.Write(
85 » » buf, rds.PropertyMap{"__version__": {rds.MkPropertyNI(ret)}}, rd s.WithContext) 85 » » buf, rds.WithContext)
86 ents.Set(key, buf.Bytes()) 86 ents.Set(key, buf.Bytes())
87 return ret 87 return ret
88 } 88 }
89 89
90 func (d *dataStoreData) entsKeyLocked(key rds.Key) (*memCollection, rds.Key) { 90 func (d *dataStoreData) entsKeyLocked(key rds.Key) (*memCollection, rds.Key) {
91 coll := "ents:" + key.Namespace() 91 coll := "ents:" + key.Namespace()
92 ents := d.store.GetCollection(coll) 92 ents := d.store.GetCollection(coll)
93 if ents == nil { 93 if ents == nil {
94 ents = d.store.SetCollection(coll, nil) 94 ents = d.store.SetCollection(coll, nil)
95 } 95 }
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 pmaps[i] = pm 137 pmaps[i] = pm
138 } 138 }
139 return pmaps, lme.Get() 139 return pmaps, lme.Get()
140 } 140 }
141 141
142 func (d *dataStoreData) putMultiInner(keys []rds.Key, data []rds.PropertyMap) ([ ]rds.Key, error) { 142 func (d *dataStoreData) putMultiInner(keys []rds.Key, data []rds.PropertyMap) ([ ]rds.Key, error) {
143 retKeys := make([]rds.Key, len(keys)) 143 retKeys := make([]rds.Key, len(keys))
144 lme := gae.LazyMultiError{Size: len(keys)} 144 lme := gae.LazyMultiError{Size: len(keys)}
145 for i, k := range keys { 145 for i, k := range keys {
146 buf := &bytes.Buffer{} 146 buf := &bytes.Buffer{}
147 » » rds.WritePropertyMap(buf, data[i], rds.WithoutContext) 147 » » data[i].Write(buf, rds.WithoutContext)
148 dataBytes := buf.Bytes() 148 dataBytes := buf.Bytes()
149 149
150 rKey, err := func() (ret rds.Key, err error) { 150 rKey, err := func() (ret rds.Key, err error) {
151 d.rwlock.Lock() 151 d.rwlock.Lock()
152 defer d.rwlock.Unlock() 152 defer d.rwlock.Unlock()
153 153
154 ents, ret := d.entsKeyLocked(k) 154 ents, ret := d.entsKeyLocked(k)
155 incrementLocked(ents, groupMetaKey(ret)) 155 incrementLocked(ents, groupMetaKey(ret))
156 156
157 old := ents.Get(keyBytes(rds.WithoutContext, ret)) 157 old := ents.Get(keyBytes(rds.WithoutContext, ret))
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 return lme.Get() 472 return lme.Get()
473 } 473 }
474 474
475 func keyBytes(ctx rds.KeyContext, key rds.Key) []byte { 475 func keyBytes(ctx rds.KeyContext, key rds.Key) []byte {
476 buf := &bytes.Buffer{} 476 buf := &bytes.Buffer{}
477 rds.WriteKey(buf, ctx, key) 477 rds.WriteKey(buf, ctx, key)
478 return buf.Bytes() 478 return buf.Bytes()
479 } 479 }
480 480
481 func rpmWoCtx(data []byte, ns string) (rds.PropertyMap, error) { 481 func rpmWoCtx(data []byte, ns string) (rds.PropertyMap, error) {
482 » return rds.ReadPropertyMap(bytes.NewBuffer(data), rds.WithoutContext, gl obalAppID, ns) 482 » ret := rds.PropertyMap{}
483 » err := ret.Read(bytes.NewBuffer(data), rds.WithoutContext, globalAppID, ns)
484 » return ret, err
483 } 485 }
484 486
485 func rpm(data []byte) (rds.PropertyMap, error) { 487 func rpm(data []byte) (rds.PropertyMap, error) {
486 » return rds.ReadPropertyMap(bytes.NewBuffer(data), rds.WithContext, "", " ") 488 » ret := rds.PropertyMap{}
489 » err := ret.Read(bytes.NewBuffer(data), rds.WithContext, "", "")
490 » return ret, err
487 } 491 }
488 492
489 func multiValid(keys []rds.Key, plss []rds.PropertyLoadSaver, ns string, potenti alKey, allowSpecial bool) error { 493 func multiValid(keys []rds.Key, plss []rds.PropertyLoadSaver, ns string, potenti alKey, allowSpecial bool) error {
490 vfn := func(k rds.Key) bool { 494 vfn := func(k rds.Key) bool {
491 return !rds.KeyIncomplete(k) && rds.KeyValid(k, ns, allowSpecial ) 495 return !rds.KeyIncomplete(k) && rds.KeyValid(k, ns, allowSpecial )
492 } 496 }
493 if potentialKey { 497 if potentialKey {
494 vfn = func(k rds.Key) bool { 498 vfn = func(k rds.Key) bool {
495 // adds an id to k if it's incomplete. 499 // adds an id to k if it's incomplete.
496 if rds.KeyIncomplete(k) { 500 if rds.KeyIncomplete(k) {
(...skipping 10 matching lines...) Expand all
507 return errors.New("gae: key and dst slices have different length ") 511 return errors.New("gae: key and dst slices have different length ")
508 } 512 }
509 lme := gae.LazyMultiError{Size: len(keys)} 513 lme := gae.LazyMultiError{Size: len(keys)}
510 for i, k := range keys { 514 for i, k := range keys {
511 if !vfn(k) { 515 if !vfn(k) {
512 lme.Assign(i, rds.ErrInvalidKey) 516 lme.Assign(i, rds.ErrInvalidKey)
513 } 517 }
514 } 518 }
515 return lme.Get() 519 return lme.Get()
516 } 520 }
OLDNEW
« no previous file with comments | « impl/memory/plist.go ('k') | impl/prod/context.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698