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

Side by Side Diff: filters/featureBreaker/mc.go

Issue 1247283003: Improve docs (Closed) Base URL: https://github.com/luci/gae.git@reduce_size
Patch Set: fix comments Created 5 years, 5 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 | « filters/featureBreaker/gi.go ('k') | filters/featureBreaker/rds.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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 featureBreaker
6
7 import (
8 "golang.org/x/net/context"
9
10 mc "github.com/luci/gae/service/memcache"
11 )
12
13 type mcState struct {
14 *state
15
16 mc.Interface
17 }
18
19 func (m *mcState) Get(key string) (ret mc.Item, err error) {
20 err = m.run(func() (err error) {
21 ret, err = m.Interface.Get(key)
22 return
23 })
24 return
25 }
26
27 func (m *mcState) GetMulti(keys []string) (ret map[string]mc.Item, err error) {
28 err = m.run(func() (err error) {
29 ret, err = m.Interface.GetMulti(keys)
30 return
31 })
32 return
33 }
34
35 func (m *mcState) Add(item mc.Item) error {
36 return m.run(func() error { return m.Interface.Add(item) })
37 }
38
39 func (m *mcState) Set(item mc.Item) error {
40 return m.run(func() error { return m.Interface.Set(item) })
41 }
42
43 func (m *mcState) Delete(key string) error {
44 return m.run(func() error { return m.Interface.Delete(key) })
45 }
46
47 func (m *mcState) CompareAndSwap(item mc.Item) error {
48 return m.run(func() error { return m.Interface.CompareAndSwap(item) })
49 }
50
51 func (m *mcState) AddMulti(items []mc.Item) error {
52 return m.run(func() error { return m.Interface.AddMulti(items) })
53 }
54
55 func (m *mcState) SetMulti(items []mc.Item) error {
56 return m.run(func() error { return m.Interface.SetMulti(items) })
57 }
58
59 func (m *mcState) DeleteMulti(keys []string) error {
60 return m.run(func() error { return m.Interface.DeleteMulti(keys) })
61 }
62
63 func (m *mcState) Flush() error {
64 return m.run(func() error { return m.Interface.Flush() })
65 }
66
67 func (m *mcState) CompareAndSwapMulti(items []mc.Item) error {
68 return m.run(func() error { return m.Interface.CompareAndSwapMulti(items ) })
69 }
70
71 func (m *mcState) Increment(key string, delta int64, initialValue uint64) (newVa lue uint64, err error) {
72 err = m.run(func() (err error) {
73 newValue, err = m.Interface.Increment(key, delta, initialValue)
74 return
75 })
76 return
77 }
78
79 func (m *mcState) IncrementExisting(key string, delta int64) (newValue uint64, e rr error) {
80 err = m.run(func() (err error) {
81 newValue, err = m.Interface.IncrementExisting(key, delta)
82 return
83 })
84 return
85 }
86
87 func (m *mcState) Stats() (ret *mc.Statistics, err error) {
88 err = m.run(func() (err error) {
89 ret, err = m.Interface.Stats()
90 return
91 })
92 return
93 }
94
95 // FilterMC installs a counter mc filter in the context.
96 func FilterMC(c context.Context, defaultError error) (context.Context, FeatureBr eaker) {
97 state := newState(defaultError)
98 return mc.AddFilters(c, func(ic context.Context, rds mc.Interface) mc.In terface {
99 return &mcState{state, rds}
100 }), state
101 }
OLDNEW
« no previous file with comments | « filters/featureBreaker/gi.go ('k') | filters/featureBreaker/rds.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698