OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 package dscache | |
6 | |
7 import ( | |
8 ds "github.com/luci/gae/service/datastore" | |
9 ) | |
10 | |
11 type dsTxnCache struct { | |
12 ds.RawInterface | |
13 | |
14 state *dsTxnState | |
15 | |
16 sc *supportContext | |
Vadim Sh.
2015/08/06 01:23:33
so what happens with Gets in transaction? I'm lost
iannucci
2015/08/06 02:37:33
documented, but all methods that aren't DeleteMult
| |
17 } | |
18 | |
19 var _ ds.RawInterface = (*dsTxnCache)(nil) | |
20 | |
21 func (d *dsTxnCache) DeleteMulti(keys []ds.Key, cb ds.DeleteMultiCB) error { | |
22 d.state.Add(d.sc, keys) | |
23 return d.RawInterface.DeleteMulti(keys, cb) | |
24 } | |
25 | |
26 func (d *dsTxnCache) PutMulti(keys []ds.Key, metas []ds.PropertyMap, cb ds.PutMu ltiCB) error { | |
27 d.state.Add(d.sc, keys) | |
28 return d.RawInterface.PutMulti(keys, metas, cb) | |
29 } | |
30 | |
31 // TODO(riannucci): on GetAll, Load from memcache and invalidate entries if the | |
32 // memcache version doesn't match the datastore version. | |
OLD | NEW |