"errors"
"fmt"
"io"
- "log"
"os"
"path"
"reflect"
"time"
)
-var _ log.Logger
-
type Cacheable interface {
// Updates the last modified time
Touch()
}
func (c *cacheDir) Get(v Cacheable, keys ...cacheKey) (err error) {
- defer func() {
- log.Println("Got entry", keys, "(error", err, ")")
- }()
val := reflect.ValueOf(v)
if k := val.Kind(); k == reflect.Ptr || k == reflect.Interface {
return // no point in saving nil
}
}
- defer func() {
- log.Println("Set entry", keys, "(error", err, ")")
- }()
// First we encode to memory -- we don't want to create/truncate a file and put bad data in it.
buf := bytes.Buffer{}