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

Side by Side Diff: service/datastore/raw_interface.go

Issue 1521823003: Clean up callback interfaces. (Closed) Base URL: https://github.com/luci/gae.git@extra
Patch Set: fixins Created 5 years 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 | « service/datastore/propertytype_string.go ('k') | service/datastore/reflect.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 datastore 5 package datastore
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 9
10 "golang.org/x/net/context" 10 "golang.org/x/net/context"
11 ) 11 )
12 12
13 // Cursor wraps datastore.Cursor. 13 // Cursor wraps datastore.Cursor.
14 type Cursor interface { 14 type Cursor interface {
15 fmt.Stringer 15 fmt.Stringer
16 } 16 }
17 17
18 // CursorCB is used to obtain a Cursor while Run'ing a query on either 18 // CursorCB is used to obtain a Cursor while Run'ing a query on either
19 // Interface or RawInterface. 19 // Interface or RawInterface.
20 // 20 //
21 // it can be invoked to obtain the current cursor. 21 // it can be invoked to obtain the current cursor.
22 type CursorCB func() (Cursor, error) 22 type CursorCB func() (Cursor, error)
23 23
24 // RawRunCB is the callback signature provided to RawInterface.Run 24 // RawRunCB is the callback signature provided to RawInterface.Run
25 // 25 //
26 // - key is the Key of the entity 26 // - key is the Key of the entity
27 // - val is the data of the entity (or nil, if the query was keys-only) 27 // - val is the data of the entity (or nil, if the query was keys-only)
28 // 28 //
29 // Return true to continue iterating through the query results, or false to stop . 29 // Return nil to continue iterating through the query results, or an error to
30 type RawRunCB func(key *Key, val PropertyMap, getCursor CursorCB) bool 30 // stop. If you return the error `Stop`, then Run will stop the query and
31 // return nil.
32 type RawRunCB func(key *Key, val PropertyMap, getCursor CursorCB) error
31 33
32 // GetMultiCB is the callback signature provided to RawInterface.GetMulti 34 // GetMultiCB is the callback signature provided to RawInterface.GetMulti
33 // 35 //
34 // - val is the data of the entity 36 // - val is the data of the entity
35 // * It may be nil if some of the keys to the GetMulti were bad, since all 37 // * It may be nil if some of the keys to the GetMulti were bad, since all
36 // keys are validated before the RPC occurs! 38 // keys are validated before the RPC occurs!
37 // - err is an error associated with this entity (e.g. ErrNoSuchEntity). 39 // - err is an error associated with this entity (e.g. ErrNoSuchEntity).
38 type GetMultiCB func(val PropertyMap, err error) 40 type GetMultiCB func(val PropertyMap, err error) error
39 41
40 // PutMultiCB is the callback signature provided to RawInterface.PutMulti 42 // PutMultiCB is the callback signature provided to RawInterface.PutMulti
41 // 43 //
42 // - key is the new key for the entity (if the original was incomplete) 44 // - key is the new key for the entity (if the original was incomplete)
43 // * It may be nil if some of the keys/vals to the PutMulti were bad, since 45 // * It may be nil if some of the keys/vals to the PutMulti were bad, since
44 // all keys are validated before the RPC occurs! 46 // all keys are validated before the RPC occurs!
45 // - err is an error associated with putting this entity. 47 // - err is an error associated with putting this entity.
46 type PutMultiCB func(key *Key, err error) 48 type PutMultiCB func(key *Key, err error) error
47 49
48 // DeleteMultiCB is the callback signature provided to RawInterface.DeleteMulti 50 // DeleteMultiCB is the callback signature provided to RawInterface.DeleteMulti
49 // 51 //
50 // - err is an error associated with deleting this entity. 52 // - err is an error associated with deleting this entity.
51 type DeleteMultiCB func(err error) 53 type DeleteMultiCB func(err error) error
52 54
53 type nullMetaGetterType struct{} 55 type nullMetaGetterType struct{}
54 56
55 func (nullMetaGetterType) GetMeta(string) (interface{}, bool) { return nil, fals e } 57 func (nullMetaGetterType) GetMeta(string) (interface{}, bool) { return nil, fals e }
56 58
57 var nullMetaGetter MetaGetter = nullMetaGetterType{} 59 var nullMetaGetter MetaGetter = nullMetaGetterType{}
58 60
59 // MultiMetaGetter is a carrier for metadata, used with RawInterface.GetMulti 61 // MultiMetaGetter is a carrier for metadata, used with RawInterface.GetMulti
60 // 62 //
61 // It's OK to default-construct this. GetMeta will just return 63 // It's OK to default-construct this. GetMeta will just return
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 // - len(keys) > 0 162 // - len(keys) > 0
161 // - all keys are Valid, !Incomplete, and in the current namespace 163 // - all keys are Valid, !Incomplete, and in the current namespace
162 // - none keys of the keys are 'special' (use a kind prefixed with '__ ') 164 // - none keys of the keys are 'special' (use a kind prefixed with '__ ')
163 // - cb is not nil 165 // - cb is not nil
164 DeleteMulti(keys []*Key, cb DeleteMultiCB) error 166 DeleteMulti(keys []*Key, cb DeleteMultiCB) error
165 167
166 // Testable returns the Testable interface for the implementation, or ni l if 168 // Testable returns the Testable interface for the implementation, or ni l if
167 // there is none. 169 // there is none.
168 Testable() Testable 170 Testable() Testable
169 } 171 }
OLDNEW
« no previous file with comments | « service/datastore/propertytype_string.go ('k') | service/datastore/reflect.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698