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

Side by Side Diff: filter/count/mod.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/count/mail.go ('k') | filter/count/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
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 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 "github.com/luci/gae/service/module" 10 "github.com/luci/gae/service/module"
11 ) 11 )
12 12
13 // ModuleCounter is the counter object for the Module service. 13 // ModuleCounter is the counter object for the Module service.
14 type ModuleCounter struct { 14 type ModuleCounter struct {
15 List Entry 15 List Entry
16 NumInstances Entry 16 NumInstances Entry
17 SetNumInstances Entry 17 SetNumInstances Entry
18 Versions Entry 18 Versions Entry
19 DefaultVersion Entry 19 DefaultVersion Entry
20 Start Entry 20 Start Entry
21 Stop Entry 21 Stop Entry
22 } 22 }
23 23
24 type modCounter struct { 24 type modCounter struct {
25 c *ModuleCounter 25 c *ModuleCounter
26 26
27 » mod module.Interface 27 » mod module.RawInterface
28 } 28 }
29 29
30 var _ module.Interface = (*modCounter)(nil) 30 var _ module.RawInterface = (*modCounter)(nil)
31 31
32 func (m *modCounter) List() ([]string, error) { 32 func (m *modCounter) List() ([]string, error) {
33 ret, err := m.mod.List() 33 ret, err := m.mod.List()
34 return ret, m.c.List.up(err) 34 return ret, m.c.List.up(err)
35 } 35 }
36 36
37 func (m *modCounter) NumInstances(mod, ver string) (int, error) { 37 func (m *modCounter) NumInstances(mod, ver string) (int, error) {
38 ret, err := m.mod.NumInstances(mod, ver) 38 ret, err := m.mod.NumInstances(mod, ver)
39 return ret, m.c.NumInstances.up(err) 39 return ret, m.c.NumInstances.up(err)
40 } 40 }
(...skipping 16 matching lines...) Expand all
57 return m.c.Start.up(m.mod.Start(mod, ver)) 57 return m.c.Start.up(m.mod.Start(mod, ver))
58 } 58 }
59 59
60 func (m *modCounter) Stop(mod, ver string) error { 60 func (m *modCounter) Stop(mod, ver string) error {
61 return m.c.Stop.up(m.mod.Stop(mod, ver)) 61 return m.c.Stop.up(m.mod.Stop(mod, ver))
62 } 62 }
63 63
64 // FilterModule installs a counter Module filter in the context. 64 // FilterModule installs a counter Module filter in the context.
65 func FilterModule(c context.Context) (context.Context, *ModuleCounter) { 65 func FilterModule(c context.Context) (context.Context, *ModuleCounter) {
66 state := &ModuleCounter{} 66 state := &ModuleCounter{}
67 » return module.AddFilters(c, func(ic context.Context, mod module.Interfac e) module.Interface { 67 » return module.AddFilters(c, func(ic context.Context, mod module.RawInter face) module.RawInterface {
68 return &modCounter{state, mod} 68 return &modCounter{state, mod}
69 }), state 69 }), state
70 } 70 }
OLDNEW
« no previous file with comments | « filter/count/mail.go ('k') | filter/count/rds.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698