base

package
v0.0.0-...-34023c5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2014 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseCache

type BaseCache struct {

	//this is called on the object evicted from the cache
	CleanFunc CacheCleanFunc

	//CacheDirectoryBlock Manager
	CdbManager
	// contains filtered or unexported fields
}

func NewBaseCache

func NewBaseCache(size int, cdbm CdbManager) *BaseCache

func NewRRCache

func NewRRCache(size int) *BaseCache

func NewSafeBaseCache

func NewSafeBaseCache(size int, cdbm CdbManager) *BaseCache

func NewSafeRRCache

func NewSafeRRCache(size int) *BaseCache

func (*BaseCache) Check

func (c *BaseCache) Check()

func (*BaseCache) Collect

func (c *BaseCache) Collect() map[string]CacheObject

func (*BaseCache) Delete

func (c *BaseCache) Delete(key string) error

func (*BaseCache) Get

func (c *BaseCache) Get(key string) (object CacheObject, err error)

func (*BaseCache) GetHitRate

func (c *BaseCache) GetHitRate() int

func (*BaseCache) GetUsage

func (c *BaseCache) GetUsage() int

func (*BaseCache) GetUsageRate

func (c *BaseCache) GetUsageRate() int

func (*BaseCache) Lock

func (c *BaseCache) Lock()

func (*BaseCache) Reset

func (c *BaseCache) Reset()

func (*BaseCache) Set

func (c *BaseCache) Set(key string, object CacheObject) error

func (*BaseCache) SetCleanFunc

func (c *BaseCache) SetCleanFunc(f CacheCleanFunc)

func (*BaseCache) Unlock

func (c *BaseCache) Unlock()

type BaseCdb

type BaseCdb struct {
	// contains filtered or unexported fields
}

func NewBasicCdb

func NewBasicCdb() *BaseCdb

func (*BaseCdb) GetKey

func (cdb *BaseCdb) GetKey() string

func (*BaseCdb) GetObject

func (cdb *BaseCdb) GetObject() CacheObject

func (*BaseCdb) SetKey

func (cdb *BaseCdb) SetKey(key string)

func (*BaseCdb) SetObject

func (cdb *BaseCdb) SetObject(object CacheObject)

type BasicCdbm

type BasicCdbm struct {
	//hash table for searching cache entries
	Hash map[string]CacheDirectoryBlock
	Size int
}

func NewBasicCdbm

func NewBasicCdbm() *BasicCdbm

func (*BasicCdbm) Check

func (cdbm *BasicCdbm) Check()

func (*BasicCdbm) Collect

func (cdbm *BasicCdbm) Collect() map[string]CacheObject

func (*BasicCdbm) Find

func (cdbm *BasicCdbm) Find(key string) (CacheDirectoryBlock, error)

func (*BasicCdbm) GetUsage

func (cdbm *BasicCdbm) GetUsage() int

func (*BasicCdbm) MakeSpace

func (cdbm *BasicCdbm) MakeSpace(objectSize, sizeLimit int, f CacheCleanFunc) (CacheDirectoryBlock, error)

func (*BasicCdbm) Remove

func (cdbm *BasicCdbm) Remove(key string, f CacheCleanFunc) error

func (*BasicCdbm) Replace

func (cdbm *BasicCdbm) Replace(key string, object CacheObject, sizeLimit int, f CacheCleanFunc) error

func (*BasicCdbm) Reset

func (cdbm *BasicCdbm) Reset(f CacheCleanFunc)

type CacheDirectoryBlock

type CacheDirectoryBlock interface {
	GetKey() string
	SetKey(string)
	GetObject() CacheObject
	SetObject(CacheObject)
}

type CdbManager

type CdbManager interface {
	Find(string) (CacheDirectoryBlock, error)
	Replace(string, CacheObject, int, CacheCleanFunc) error
	Remove(key string, f CacheCleanFunc) error
	Collect() map[string]CacheObject
	Check()
	GetUsage() int
	Reset(CacheCleanFunc)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL