heartbeatReceived(nodeID, payload) {
		const node = this.registry.nodes.get(nodeID);
		if (node) {
			if (!node.available) {
				// Reconnected node. Request a fresh INFO
				this.discoverNode(nodeID);
			} else {
				if (payload.seq != null && node.seq !== payload.seq) {
					// Some services changed on the remote node. Request a new INFO
					this.discoverNode(nodeID);
				} else if (
					payload.instanceID != null &&
					!node.instanceID.startsWith(payload.instanceID)
				) {
					// The node has been restarted. Request a new INFO
					this.discoverNode(nodeID);
				} else {
					node.heartbeat(payload);
				}
			}
		} else {
			// Unknow node. Request an INFO
			this.discoverNode(nodeID);
		}
	}
Heartbeat received from a remote node.

@param {String} nodeID
@param {Object} payload