| OLD | NEW |
| 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 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 mc "github.com/luci/gae/service/memcache" | 10 mc "github.com/luci/gae/service/memcache" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 } | 64 } |
| 65 | 65 |
| 66 func (m *mcCounter) Stats() (*mc.Statistics, error) { | 66 func (m *mcCounter) Stats() (*mc.Statistics, error) { |
| 67 ret, err := m.mc.Stats() | 67 ret, err := m.mc.Stats() |
| 68 return ret, m.c.Stats.up(err) | 68 return ret, m.c.Stats.up(err) |
| 69 } | 69 } |
| 70 | 70 |
| 71 // FilterMC installs a counter Memcache filter in the context. | 71 // FilterMC installs a counter Memcache filter in the context. |
| 72 func FilterMC(c context.Context) (context.Context, *MCCounter) { | 72 func FilterMC(c context.Context) (context.Context, *MCCounter) { |
| 73 state := &MCCounter{} | 73 state := &MCCounter{} |
| 74 state.NewItem.init() |
| 75 state.AddMulti.init() |
| 76 state.SetMulti.init() |
| 77 state.GetMulti.init() |
| 78 state.DeleteMulti.init() |
| 79 state.CompareAndSwapMulti.init() |
| 80 state.Increment.init() |
| 81 state.Flush.init() |
| 82 state.Stats.init() |
| 83 |
| 74 return mc.AddRawFilters(c, func(ic context.Context, mc mc.RawInterface)
mc.RawInterface { | 84 return mc.AddRawFilters(c, func(ic context.Context, mc mc.RawInterface)
mc.RawInterface { |
| 75 return &mcCounter{state, mc} | 85 return &mcCounter{state, mc} |
| 76 }), state | 86 }), state |
| 77 } | 87 } |
| OLD | NEW |