release and reset *entry to sync.Pool
(e *item)
| 82 | |
| 83 | // release and reset *entry to sync.Pool |
| 84 | func (m *manager) release(e *item) { |
| 85 | // don't release item if we using in-memory storage |
| 86 | if m.storage == nil { |
| 87 | return |
| 88 | } |
| 89 | e.body = nil |
| 90 | e.cacheControl = nil |
| 91 | e.expires = nil |
| 92 | e.etag = nil |
| 93 | e.ctype = nil |
| 94 | e.cencoding = nil |
| 95 | e.date = 0 |
| 96 | e.status = 0 |
| 97 | e.age = 0 |
| 98 | e.exp = 0 |
| 99 | e.ttl = 0 |
| 100 | e.forceRevalidate = false |
| 101 | e.revalidate = false |
| 102 | e.headers = nil |
| 103 | e.shareable = false |
| 104 | e.private = false |
| 105 | e.heapidx = 0 |
| 106 | m.pool.Put(e) |
| 107 | } |
| 108 | |
| 109 | // get data from storage or memory |
| 110 | func (m *manager) get(ctx context.Context, key string) (*item, error) { |