Chromium Code Reviews| Index: impl/memory/context.go |
| diff --git a/impl/memory/context.go b/impl/memory/context.go |
| index 286736b4ade8e23c3c2e0c90ef5a508f20715d01..6108e02cbdcbfac51122f37dd97b7dbe2df2b48c 100644 |
| --- a/impl/memory/context.go |
| +++ b/impl/memory/context.go |
| @@ -27,10 +27,10 @@ type memContext []memContextObj |
| var _ = memContextObj((memContext)(nil)) |
| -func newMemContext() memContext { |
| +func newMemContext(aid string) memContext { |
| return memContext{ |
| newTaskQueueData(), |
| - newDataStoreData(), |
| + newDataStoreData(aid), |
| } |
| } |
| @@ -88,27 +88,35 @@ func (m memContext) applyTxn(c context.Context, txnCtxObj memContextObj) { |
| } |
| } |
| -// Use adds implementations for the following gae interfaces to the |
| +// Use calls UseWithAppID with the appid of "dev~app" |
| +func Use(c context.Context) context.Context { |
| + return UseWithAppID(c, "dev~app") |
| +} |
| + |
| +// UseWithAppID adds implementations for the following gae interfaces to the |
| // context: |
| // * gae.Datastore |
| // * gae.TaskQueue |
| // * gae.Memcache |
| // * gae.GlobalInfo |
| // |
| +// The application id wil be set to 'aid', and will not be modifiable in this |
| +// context. |
| +// |
| // These can be retrieved with the gae.Get functions. |
| // |
| // The implementations are all backed by an in-memory implementation, and start |
| // with an empty state. |
| // |
| // Using this more than once per context.Context will cause a panic. |
| -func Use(c context.Context) context.Context { |
| +func UseWithAppID(c context.Context, aid string) context.Context { |
|
iannucci
2015/09/29 04:43:27
This was so that the in-memory buffered transactio
|
| if c.Value(memContextKey) != nil { |
| panic(errors.New("memory.Use: called twice on the same Context")) |
| } |
| c = context.WithValue( |
| - context.WithValue(c, memContextKey, newMemContext()), |
| - giContextKey, &globalInfoData{}) |
| - return useTQ(useRDS(useMC(useGI(c)))) |
| + context.WithValue(c, memContextKey, newMemContext(aid)), |
| + giContextKey, &globalInfoData{appid: aid}) |
| + return useTQ(useRDS(useMC(useGI(c, aid)))) |
| } |
| func cur(c context.Context) (p memContext) { |