| Index: doc.go
|
| diff --git a/doc.go b/doc.go
|
| index 70d7033b0c7d7b17e11c343a4011083d9cb92b18..43150313d96e7cd4e33055845b19a4c819d70226 100644
|
| --- a/doc.go
|
| +++ b/doc.go
|
| @@ -63,9 +63,8 @@
|
| // }
|
| //
|
| // func innerHandler(c context.Context, w http.ResponseWriter) {
|
| -// rds := datastore.Get(c)
|
| // obj := &CoolStruct{Value: "hello"}
|
| -// if err := rds.Put(obj); err != nil {
|
| +// if err := rds.Put(c, obj); err != nil {
|
| // http.Error(w, err.String(), http.StatusInternalServerError)
|
| // }
|
| // fmt.Fprintf(w, "I wrote: %s", ds.KeyForObj(obj))
|
| @@ -123,10 +122,6 @@
|
| // implementations directly.
|
| //
|
| // And common functions are:
|
| -// service.Get - Retrieve the current, filtered Interface
|
| -// implementation from the context. This is the most
|
| -// frequently used service function by far.
|
| -//
|
| // service.GetRaw - Retrieve the current, filtered RawInterface
|
| // implementation from the context. This is less
|
| // frequently used, but can be useful if you want to
|
| @@ -178,15 +173,10 @@
|
| // }
|
| //
|
| // func CoolFunc(c context.Context, ...) {
|
| -// ds := datastore.Get(c) // returns a datastore.Interface object
|
| -// mc := memcache.Get(c) // returns a memcache.Interface object
|
| -// // use them here
|
| -//
|
| -// // don't pass ds/mc/etc. directly, pass the context instead.
|
| // SomeOtherFunction(c, ...)
|
| //
|
| // // because you might need to:
|
| -// ds.RunInTransaction(func (c context.Context) error {
|
| +// ds.RunInTransaction(c, func (c context.Context) error {
|
| // SomeOtherFunction(c, ...) // c contains transactional versions of everything
|
| // }, nil)
|
| // }
|
| @@ -203,15 +193,6 @@
|
| // <count filter (counts how many times each API is actually hit)>
|
| // memory datastore.RawInterface implementation
|
| //
|
| -// So datastore.Get would return the full stack. In code, this would look
|
| -// like:
|
| -// func HTTPHandler(r *http.Request) {
|
| -// c := prod.UseRequest(r) // production datastore
|
| -// c, rawCount := count.FilterRDS(c) // add count filter
|
| -// c = dscache.FilterRDS(c) // add dscache filter
|
| -// c, userCount := count.FilterRDS(c) // add another count filter
|
| -// }
|
| -//
|
| // Filters may or may not have state, it's up to the filter itself. In the case
|
| // of the count filter, it returns its state from the Filter<Service> method,
|
| // and the state can be observed to see how many times each API was invoked.
|
|
|