mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
comments node.go
This commit is contained in:
parent
48e6137f46
commit
3c7f9215d1
@ -253,7 +253,7 @@ func (n *Node) Add(child *Node) *etcdErr.Error {
|
|||||||
|
|
||||||
// Expire function will test if the node is expired.
|
// Expire function will test if the node is expired.
|
||||||
// if the node is already expired, delete the node and return.
|
// if the node is already expired, delete the node and return.
|
||||||
// if the node is permemant (this shouldn't happen), return at once.
|
// if the node is permanent (this shouldn't happen), return at once.
|
||||||
// else wait for a period time, then remove the node. and notify the watchhub.
|
// else wait for a period time, then remove the node. and notify the watchhub.
|
||||||
func (n *Node) Expire(s *Store) {
|
func (n *Node) Expire(s *Store) {
|
||||||
expired, duration := n.IsExpired()
|
expired, duration := n.IsExpired()
|
||||||
@ -383,6 +383,13 @@ func (n *Node) Clone() *Node {
|
|||||||
return clone
|
return clone
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// recoverAndclean function help to do recovery.
|
||||||
|
// Two things need to be done: 1. recovery structure; 2. delete expired nodes
|
||||||
|
|
||||||
|
// If the node is a directory, it will help recover children's parent pointer and recursively
|
||||||
|
// call this function on its children.
|
||||||
|
// We check the expire last since we need to recover the whole structure first and add all the
|
||||||
|
// notifications into the event history.
|
||||||
func (n *Node) recoverAndclean(s *Store) {
|
func (n *Node) recoverAndclean(s *Store) {
|
||||||
if n.IsDir() {
|
if n.IsDir() {
|
||||||
for _, child := range n.Children {
|
for _, child := range n.Children {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user