refactor use time.IsZero

This commit is contained in:
Xiang Li 2013-11-04 20:56:41 -08:00
parent c05df9e3f5
commit 3f6d6cf4c6
2 changed files with 8 additions and 8 deletions

View File

@ -9,15 +9,13 @@ import (
etcdErr "github.com/coreos/etcd/error"
)
var (
Permanent time.Time
)
const (
normal = iota
removed
)
var Permanent time.Time
// Node is the basic element in the store system.
// A key-value pair will have a string value
// A directory will have a children map
@ -97,7 +95,7 @@ func (n *Node) IsHidden() bool {
// IsPermanent function checks if the node is a permanent one.
func (n *Node) IsPermanent() bool {
return n.ExpireTime.Sub(Permanent) == 0
return !n.ExpireTime.IsZero()
}
// IsExpired function checks if the node has been expired.
@ -146,7 +144,7 @@ func (n *Node) Write(value string, index uint64, term uint64) *etcdErr.Error {
}
func (n *Node) ExpirationAndTTL() (*time.Time, int64) {
if n.ExpireTime.Sub(Permanent) != 0 {
if n.IsPermanent() {
return &n.ExpireTime, int64(n.ExpireTime.Sub(time.Now())/time.Second) + 1
}
return nil, 0
@ -376,7 +374,7 @@ func (n *Node) UpdateTTL(expireTime time.Time) {
}
n.ExpireTime = expireTime
if expireTime.Sub(Permanent) != 0 {
if !n.IsPermanent() {
n.Expire()
}
}

View File

@ -37,6 +37,7 @@ type Store interface {
type store struct {
Root *Node
WatcherHub *watcherHub
TTLKeyHeap *TTLKeyHeap
Index uint64
Term uint64
Stats *Stats
@ -54,6 +55,7 @@ func newStore() *store {
s.Root = newDir(s, "/", UndefIndex, UndefTerm, nil, "", Permanent)
s.Stats = newStats()
s.WatcherHub = newWatchHub(1000)
s.TTLKeyHeap = newTTLKeyHeap()
return s
}
@ -390,7 +392,7 @@ func (s *store) internalCreate(nodePath string, value string, unique bool, repla
d.Add(n)
// Node with TTL
if expireTime.Sub(Permanent) != 0 {
if !n.IsPermanent() {
n.Expire()
e.Expiration, e.TTL = n.ExpirationAndTTL()
}