import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
-import java.util.Vector;
import and.Mapping.Algo;
import and.Mapping.DefaultMapping;
return beat;
}
- public Vector<?> sendStub(String IP, int port, JaceSuperNodeInterface stub)
+ public ArrayList<Object> sendStub(String IP, int port, JaceSuperNodeInterface stub)
throws RemoteException {
SuperNodeListe.Instance().addStubOf(IP, port, stub);
System.out.println("Added new superNode (" + IP
+ ") to list and return List");
- return SuperNodeListe.Instance().getListe();
+ return SuperNodeListe.Instance().getListe() ;
}
public void updateCountNode(String IP, int nb) throws RemoteException {
SuperNodeListe.Instance().viewAll();
}
- public void sendSurplus(Vector<?> nodes, ArrayList<GNode> _gnodes) throws RemoteException {
+ public void sendSurplus(ArrayList<Node> nodes, ArrayList<GNode> _gnodes) throws RemoteException {
System.out.println("Recieved " + nodes.size() + " nodes");
for (int i = 0; i < nodes.size(); i++) {
- Register.Instance().getListe().add((Node) nodes.elementAt(i));
+ Register.Instance().getListe().add((Node) nodes.get(i));
System.out.println("Adding "
- + ((Node) nodes.elementAt(i)).getName());
+ + ((Node) nodes.get(i)).getName());
try {
- ((Node) nodes.elementAt(i)).getStub().updateHeart(
+ ((Node) nodes.get(i)).getStub().updateHeart(
LocalHost.Instance().getSuperNodeStub());
int index = SuperNodeListe.Instance().existSuperNode(
LocalHost.Instance().getIP());
((Maheve) al).setNbSave((int)paramAlgo);
break ;
default:
- al = new DefaultMapping( graph, grid, gnodes ) ;
+ al = new DefaultMapping( graph, grid ) ;
}
if (al != null)
algos.get( i ).getGrid().removeGNode( dead ) ;
Register.Instance().removeNodeOfName( dead.getName() ) ;
SuperNodeListe.Instance().removeGNode( dead, _mode, _spawnerIp ) ;
+
+ // trying to reboot the node
+ try {
+ _n.getStub().suicide2( "Reboot!" ) ;
+ } catch( Exception e ) {
+ System.err.println( "(SN) Unable to reboot the node:" ) ;
+ e.printStackTrace() ;
+ }
}
} else {
System.err.println( "The dead node signaled does not exist!" ) ;
}
return ret ;
- }
-
+ }
}