%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/waritko/go/src/github.com/odeke-em/cache/
Upload File :
Create Path :
Current File : //home/waritko/go/src/github.com/odeke-em/cache/exports.go

package expirable

import "time"

type ExpirableValue struct {
	value     interface{}
	entryTime time.Time
}

func (e *ExpirableValue) Value() interface{} {
	if e == nil {
		return nil
	}
	return e.value
}

func (e *ExpirableValue) Expired(q time.Time) bool {
	if e == nil {
		return true
	}

	return e.entryTime.Before(q)
}

func NewExpirableValue(v interface{}) *ExpirableValue {
	return NewExpirableValueWithOffset(v, 0)
}

func NewExpirableValueWithOffset(v interface{}, expiry uint64) *ExpirableValue {
	return &ExpirableValue{
		value:     v,
		entryTime: time.Now().Add(time.Duration(expiry)),
	}
}

Zerion Mini Shell 1.0