MCPcopy Create free account
hub / github.com/dadgar/onecache / memberStateUpdate

Method memberStateUpdate

onecache/onecache.go:266–282  ·  view source on GitHub ↗

memberStateUpdate handles a single node joining or leaving.

(p *peerNode, remove bool)

Source from the content-addressed store, hash-verified

264
265// memberStateUpdate handles a single node joining or leaving.
266func (n *Node) memberStateUpdate(p *peerNode, remove bool) error {
267 if remove {
268 if _, exists := n.nodes[p.name]; !exists {
269 return fmt.Errorf("delete of non-existent peer %+v", p)
270 }
271
272 n.logger.Printf("[INFO] onecache: removed peer node %v", p)
273 delete(n.nodes, p.name)
274 n.ring.remove(p.name)
275 return nil
276 }
277
278 n.logger.Printf("[INFO] onecache: added peer node %v", p)
279 n.nodes[p.name] = p
280 n.ring.add(p.name)
281 return nil
282}
283
284// buildPeerNode takes a serf member and returns a peerNode
285func buildPeerNode(m serf.Member) (*peerNode, error) {

Callers 1

memberStateUpdatesMethod · 0.95

Calls 2

removeMethod · 0.65
addMethod · 0.65

Tested by

no test coverage detected