etcd/store/node_extern.go

37 lines
961 B
Go
Raw Normal View History

package store
import (
"time"
)
// NodeExtern is the external representation of the
// internal node with additional fields
// PrevValue is the previous value of the node
// TTL is time to live in second
type NodeExtern struct {
Key string `json:"key, omitempty"`
PrevValue string `json:"-"`
Value string `json:"value,omitempty"`
Dir bool `json:"dir,omitempty"`
Expiration *time.Time `json:"expiration,omitempty"`
TTL int64 `json:"ttl,omitempty"`
Nodes NodeExterns `json:"nodes,omitempty"`
ModifiedIndex uint64 `json:"modifiedIndex,omitempty"`
CreatedIndex uint64 `json:"createdIndex,omitempty"`
}
type NodeExterns []NodeExtern
// interfaces for sorting
func (ns NodeExterns) Len() int {
return len(ns)
}
func (ns NodeExterns) Less(i, j int) bool {
return ns[i].Key < ns[j].Key
}
func (ns NodeExterns) Swap(i, j int) {
ns[i], ns[j] = ns[j], ns[i]
}