func init() {
gob.RegisterName("*github.com/Kovensky/go-anidb.File", &File{})
- gob.RegisterName("*github.com/Kovensky/go-anidb.ed2kCache", &ed2kCache{})
+ gob.RegisterName("*github.com/Kovensky/go-anidb.fidCache", &fidCache{})
gob.RegisterName("github.com/Kovensky/go-anidb.FID", FID(0))
}
return nil
}
-type ed2kCache struct {
+type fidCache struct {
FID
Time time.Time
}
-func (c *ed2kCache) Touch() {
+func (c *fidCache) Touch() {
c.Time = time.Now()
}
-func (c *ed2kCache) IsStale() bool {
+func (c *fidCache) IsStale() bool {
return time.Now().Sub(c.Time) > FileCacheDuration
}
if reply.Error() == nil {
f = parseFileResponse(reply)
- cache.Set(&ed2kCache{FID: f.FID}, "fid", "by-ed2k", f.Ed2kHash, f.Filesize)
+ cache.Set(&fidCache{FID: f.FID}, "fid", "by-ed2k", f.Ed2kHash, f.Filesize)
cache.Set(f, keys...)
} else if reply.Code() == 320 {
cache.MarkInvalid(keys...)
fid := FID(0)
- var ec ed2kCache
+ var ec fidCache
if cache.Get(&ec, keys...) == nil && !ec.IsStale() {
intentMap.Notify(ec.FID, keys...)
return ch
fid = f.FID
- cache.Set(&ed2kCache{FID: fid}, keys...)
+ cache.Set(&fidCache{FID: fid}, keys...)
cache.Set(f, "fid", fid)
} else if reply.Code() == 320 { // file not found
cache.MarkInvalid(keys...)