|
- package cache
-
- import "gopkg.in/src-d/go-git.v4/plumbing"
-
- const (
- Byte FileSize = 1 << (iota * 10)
- KiByte
- MiByte
- GiByte
- )
-
- type FileSize int64
-
- const DefaultMaxSize FileSize = 96 * MiByte
-
- // Object is an interface to a object cache.
- type Object interface {
- // Put puts the given object into the cache. Whether this object will
- // actually be put into the cache or not is implementation specific.
- Put(o plumbing.EncodedObject)
- // Get gets an object from the cache given its hash. The second return value
- // is true if the object was returned, and false otherwise.
- Get(k plumbing.Hash) (plumbing.EncodedObject, bool)
- // Clear clears every object from the cache.
- Clear()
- }
-
- // Buffer is an interface to a buffer cache.
- type Buffer interface {
- // Put puts a buffer into the cache. If the buffer is already in the cache,
- // it will be marked as used. Otherwise, it will be inserted. Buffer might
- // be evicted to make room for the new one.
- Put(key int64, slice []byte)
- // Get returns a buffer by its key. It marks the buffer as used. If the
- // buffer is not in the cache, (nil, false) will be returned.
- Get(key int64) ([]byte, bool)
- // Clear clears every object from the cache.
- Clear()
- }
|