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

Side by Side Diff: filter/txnBuf/ds_txn.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/txnBuf/doc.go ('k') | filter/txnBuf/race_test.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 txnBuf 5 package txnBuf
6 6
7 import ( 7 import (
8 ds "github.com/luci/gae/service/datastore" 8 ds "github.com/luci/gae/service/datastore"
9 "github.com/luci/luci-go/common/errors" 9 "github.com/luci/luci-go/common/errors"
10 "golang.org/x/net/context" 10 "golang.org/x/net/context"
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 } 109 }
110 110
111 func (d *dsTxnBuf) RunInTransaction(cb func(context.Context) error, opts *ds.Tra nsactionOptions) error { 111 func (d *dsTxnBuf) RunInTransaction(cb func(context.Context) error, opts *ds.Tra nsactionOptions) error {
112 if !d.haveLock { 112 if !d.haveLock {
113 d.state.Lock() 113 d.state.Lock()
114 defer d.state.Unlock() 114 defer d.state.Unlock()
115 } 115 }
116 return withTxnBuf(d.ic, cb, opts) 116 return withTxnBuf(d.ic, cb, opts)
117 } 117 }
118 118
119 func (d *dsTxnBuf) Testable() ds.Testable { 119 func (d *dsTxnBuf) CurrentTransaction() ds.Transaction { return d.state.parentDS .CurrentTransaction() }
120 » return d.state.parentDS.Testable() 120
121 func (d *dsTxnBuf) WithoutTransaction() context.Context {
122 » c := d.state.parentDS.WithoutTransaction()
123 » c = context.WithValue(c, dsTxnBufParent, nil)
124 » c = context.WithValue(c, dsTxnBufHaveLock, nil)
125 » return c
121 } 126 }
127
128 func (d *dsTxnBuf) GetTestable() ds.Testable {
129 return d.state.parentDS.GetTestable()
130 }
OLDNEW
« no previous file with comments | « filter/txnBuf/doc.go ('k') | filter/txnBuf/race_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698