From 0a4bd02503d6088396da62c1cb723840d0ebefec Mon Sep 17 00:00:00 2001 From: Milos Gajdos Date: Fri, 10 Jan 2020 10:43:07 +0000 Subject: [PATCH] Add RefreshSync method for Sync bookkeeping --- network/node.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/network/node.go b/network/node.go index 0d79ffc5..ec9b9962 100644 --- a/network/node.go +++ b/network/node.go @@ -36,6 +36,8 @@ type node struct { network Network // lastSeen keeps track of node lifetime and updates lastSeen time.Time + // lastSync keeps track of node last sync request + lastSync time.Time } // Id is node ide @@ -127,7 +129,7 @@ func (n *node) UpdatePeer(peer *node) error { return ErrPeerNotFound } -// RefreshPeer updates node timestamp +// RefreshPeer updates node last seen timestamp // It returns false if the peer has not been found. func (n *node) RefreshPeer(id, link string, now time.Time) error { n.Lock() @@ -146,6 +148,16 @@ func (n *node) RefreshPeer(id, link string, now time.Time) error { return nil } +// RefreshSync refreshes nodes sync time +func (n *node) RefreshSync(now time.Time) error { + n.Lock() + defer n.Unlock() + + n.lastSync = now + + return nil +} + // Nodes returns a slice of all nodes in the whole node topology func (n *node) Nodes() []Node { // we need to freeze the network graph here