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

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

Issue 1871943003: Add Info Testable interface, implement for memory. (Closed) Base URL: https://chromium.googlesource.com/external/github.com/luci/gae@master
Patch Set: Fall through in filter. Created 4 years, 8 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/dummy/dummy.go ('k') | impl/memory/info.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 "errors" 8 "errors"
9 "sync" 9 "sync"
10 10
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 // Using this more than once per context.Context will cause a panic. 115 // Using this more than once per context.Context will cause a panic.
116 func UseWithAppID(c context.Context, aid string) context.Context { 116 func UseWithAppID(c context.Context, aid string) context.Context {
117 if c.Value(memContextKey) != nil { 117 if c.Value(memContextKey) != nil {
118 panic(errors.New("memory.Use: called twice on the same Context") ) 118 panic(errors.New("memory.Use: called twice on the same Context") )
119 } 119 }
120 c = memlogger.Use(c) 120 c = memlogger.Use(c)
121 121
122 memctx := newMemContext(aid) 122 memctx := newMemContext(aid)
123 c = context.WithValue(c, memContextKey, memctx) 123 c = context.WithValue(c, memContextKey, memctx)
124 c = context.WithValue(c, memContextNoTxnKey, memctx) 124 c = context.WithValue(c, memContextNoTxnKey, memctx)
125 » c = context.WithValue(c, giContextKey, &globalInfoData{appid: aid}) 125 » c = useGID(c, func(mod *globalInfoData) {
126 » return useMod(useMail(useUser(useTQ(useRDS(useMC(useGI(c, aid))))))) 126 » » mod.appid = aid
127 » })
128 » return useMod(useMail(useUser(useTQ(useRDS(useMC(useGI(c)))))))
127 } 129 }
128 130
129 func cur(c context.Context) (p *memContext) { 131 func cur(c context.Context) (p *memContext) {
130 p, _ = c.Value(memContextKey).(*memContext) 132 p, _ = c.Value(memContextKey).(*memContext)
131 return 133 return
132 } 134 }
133 135
134 func curNoTxn(c context.Context) (p *memContext) { 136 func curNoTxn(c context.Context) (p *memContext) {
135 p, _ = c.Value(memContextNoTxnKey).(*memContext) 137 p, _ = c.Value(memContextNoTxnKey).(*memContext)
136 return 138 return
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 if o != nil && o.Attempts != 0 { 197 if o != nil && o.Attempts != 0 {
196 attempts = o.Attempts 198 attempts = o.Attempts
197 } 199 }
198 for attempt := 0; attempt < attempts; attempt++ { 200 for attempt := 0; attempt < attempts; attempt++ {
199 if err := loopBody(attempt >= d.data.txnFakeRetry); err != ds.Er rConcurrentTransaction { 201 if err := loopBody(attempt >= d.data.txnFakeRetry); err != ds.Er rConcurrentTransaction {
200 return err 202 return err
201 } 203 }
202 } 204 }
203 return ds.ErrConcurrentTransaction 205 return ds.ErrConcurrentTransaction
204 } 206 }
OLDNEW
« no previous file with comments | « impl/dummy/dummy.go ('k') | impl/memory/info.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698