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

Side by Side Diff: filter/count/rds.go

Issue 2302743002: Interface update, per-method Contexts. (Closed)
Patch Set: Lightning talk licenses. Created 4 years, 3 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 | « filter/count/mod.go ('k') | filter/count/tq.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 LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package count 5 package count
6 6
7 import ( 7 import (
8 "golang.org/x/net/context" 8 "golang.org/x/net/context"
9 9
10 ds "github.com/luci/gae/service/datastore" 10 ds "github.com/luci/gae/service/datastore"
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 } 57 }
58 58
59 func (r *dsCounter) GetMulti(keys []*ds.Key, meta ds.MultiMetaGetter, cb ds.GetM ultiCB) error { 59 func (r *dsCounter) GetMulti(keys []*ds.Key, meta ds.MultiMetaGetter, cb ds.GetM ultiCB) error {
60 return r.c.GetMulti.upFilterStop(r.ds.GetMulti(keys, meta, cb)) 60 return r.c.GetMulti.upFilterStop(r.ds.GetMulti(keys, meta, cb))
61 } 61 }
62 62
63 func (r *dsCounter) PutMulti(keys []*ds.Key, vals []ds.PropertyMap, cb ds.NewKey CB) error { 63 func (r *dsCounter) PutMulti(keys []*ds.Key, vals []ds.PropertyMap, cb ds.NewKey CB) error {
64 return r.c.PutMulti.upFilterStop(r.ds.PutMulti(keys, vals, cb)) 64 return r.c.PutMulti.upFilterStop(r.ds.PutMulti(keys, vals, cb))
65 } 65 }
66 66
67 func (r *dsCounter) Testable() ds.Testable { 67 func (r *dsCounter) CurrentTransaction() ds.Transaction {
68 » return r.ds.Testable() 68 » return r.ds.CurrentTransaction()
69 }
70 func (r *dsCounter) WithoutTransaction() context.Context {
71 » return r.ds.WithoutTransaction()
72 }
73
74 func (r *dsCounter) GetTestable() ds.Testable {
75 » return r.ds.GetTestable()
69 } 76 }
70 77
71 // FilterRDS installs a counter datastore filter in the context. 78 // FilterRDS installs a counter datastore filter in the context.
72 func FilterRDS(c context.Context) (context.Context, *DSCounter) { 79 func FilterRDS(c context.Context) (context.Context, *DSCounter) {
73 state := &DSCounter{} 80 state := &DSCounter{}
74 return ds.AddRawFilters(c, func(ic context.Context, ds ds.RawInterface) ds.RawInterface { 81 return ds.AddRawFilters(c, func(ic context.Context, ds ds.RawInterface) ds.RawInterface {
75 return &dsCounter{state, ds} 82 return &dsCounter{state, ds}
76 }), state 83 }), state
77 } 84 }
78 85
79 // upFilterStop wraps up, handling the special case datastore.Stop error. 86 // upFilterStop wraps up, handling the special case datastore.Stop error.
80 // datastore.Stop will pass through this function, but, unlike other error 87 // datastore.Stop will pass through this function, but, unlike other error
81 // codes, will be counted as a success. 88 // codes, will be counted as a success.
82 func (e *Entry) upFilterStop(err error) error { 89 func (e *Entry) upFilterStop(err error) error {
83 upErr := err 90 upErr := err
84 if upErr == ds.Stop { 91 if upErr == ds.Stop {
85 upErr = nil 92 upErr = nil
86 } 93 }
87 e.up(upErr) 94 e.up(upErr)
88 return err 95 return err
89 } 96 }
OLDNEW
« no previous file with comments | « filter/count/mod.go ('k') | filter/count/tq.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698