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

Side by Side Diff: filter/featureBreaker/mod.go

Issue 1772943003: Add wrappers for the module module (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: CL comments Created 4 years, 9 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/featureBreaker/mc.go ('k') | filter/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 2016 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 "github.com/luci/gae/service/module"
11 )
12
13 type modState struct {
14 *state
15
16 module.Interface
17 }
18
19 func (m *modState) List() (ret []string, err error) {
20 err = m.run(func() (err error) {
21 ret, err = m.Interface.List()
22 return
23 })
24 return
25 }
26
27 func (m *modState) NumInstances(mod, ver string) (ret int, err error) {
28 err = m.run(func() (err error) {
29 ret, err = m.Interface.NumInstances(mod, ver)
30 return
31 })
32 return
33 }
34
35 func (m *modState) SetNumInstances(mod, ver string, instances int) error {
36 return m.run(func() (err error) {
37 return m.Interface.SetNumInstances(mod, ver, instances)
38 })
39 }
40
41 func (m *modState) Versions(mod string) (ret []string, err error) {
42 err = m.run(func() (err error) {
43 ret, err = m.Interface.Versions(mod)
44 return
45 })
46 return
47 }
48
49 func (m *modState) DefaultVersion(mod string) (ret string, err error) {
50 err = m.run(func() (err error) {
51 ret, err = m.Interface.DefaultVersion(mod)
52 return
53 })
54 return
55 }
56
57 func (m *modState) Start(mod, ver string) error {
58 return m.run(func() (err error) {
59 return m.Interface.Start(mod, ver)
60 })
61 }
62
63 func (m *modState) Stop(mod, ver string) error {
64 return m.run(func() (err error) {
65 return m.Interface.Stop(mod, ver)
66 })
67 }
68
69 // FilterModule installs a featureBreaker module filter in the context.
70 func FilterModule(c context.Context, defaultError error) (context.Context, Featu reBreaker) {
71 state := newState(defaultError)
72 return module.AddFilters(c, func(ic context.Context, i module.Interface) module.Interface {
73 return &modState{state, i}
74 }), state
75 }
OLDNEW
« no previous file with comments | « filter/featureBreaker/mc.go ('k') | filter/featureBreaker/rds.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698