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

Unified Diff: go/src/infra/gae/libs/gae/memcache.go

Issue 1230303003: Revert "Refactor current GAE abstraction library to be free of the SDK*" (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « go/src/infra/gae/libs/gae/mathrand.go ('k') | go/src/infra/gae/libs/gae/memory/README.md » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: go/src/infra/gae/libs/gae/memcache.go
diff --git a/go/src/infra/gae/libs/gae/memcache.go b/go/src/infra/gae/libs/gae/memcache.go
deleted file mode 100644
index 63d4f1fd58c92289ce48f1ec90908fb3b6d73568..0000000000000000000000000000000000000000
--- a/go/src/infra/gae/libs/gae/memcache.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package gae
-
-import (
- "time"
-
- "golang.org/x/net/context"
-)
-
-// MCItem is a wrapper around *memcache.Item. Note that the Set* methods all
-// return the original MCItem (e.g. they mutate the original), due to
-// implementation constraints. They return the original item to allow easy
-// chaining, e.g.:
-// itm := gae.MC(c).NewItem("foo").SetValue([]byte("stuff"))
-type MCItem interface {
- Key() string
- Value() []byte
- Object() interface{}
- Flags() uint32
- Expiration() time.Duration
-
- SetKey(string) MCItem
- SetValue([]byte) MCItem
- SetObject(interface{}) MCItem
- SetFlags(uint32) MCItem
- SetExpiration(time.Duration) MCItem
-}
-
-// Memcache is the full interface to the memcache service.
-type Memcache interface {
- NewItem(key string) MCItem
-
- Add(item MCItem) error
- Set(item MCItem) error
- Get(key string) (MCItem, error)
- Delete(key string) error
- CompareAndSwap(item MCItem) error
-
- AddMulti(items []MCItem) error
- SetMulti(items []MCItem) error
- GetMulti(keys []string) (map[string]MCItem, error)
- DeleteMulti(keys []string) error
- CompareAndSwapMulti(items []MCItem) error
-
- Increment(key string, delta int64, initialValue uint64) (newValue uint64, err error)
- IncrementExisting(key string, delta int64) (newValue uint64, err error)
-
- Flush() error
-
- Stats() (*MCStatistics, error)
-}
-
-// MCFactory is the function signature for factory methods compatible with
-// SetMCFactory.
-type MCFactory func(context.Context) Memcache
-
-// GetMC gets the current memcache implementation from the context.
-func GetMC(c context.Context) Memcache {
- if f, ok := c.Value(memcacheKey).(MCFactory); ok && f != nil {
- return f(c)
- }
- return nil
-}
-
-// SetMCFactory sets the function to produce Memcache instances, as returned by
-// the GetMC method.
-func SetMCFactory(c context.Context, mcf MCFactory) context.Context {
- return context.WithValue(c, memcacheKey, mcf)
-}
-
-// SetMC sets the current Memcache object in the context. Useful for testing
-// with a quick mock. This is just a shorthand SetMCFactory invocation to set
-// a factory which always returns the same object.
-func SetMC(c context.Context, mc Memcache) context.Context {
- return SetMCFactory(c, func(context.Context) Memcache { return mc })
-}
« no previous file with comments | « go/src/infra/gae/libs/gae/mathrand.go ('k') | go/src/infra/gae/libs/gae/memory/README.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698