X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/jaceP2P.git/blobdiff_plain/e4891bd929a468ef21bd083d2c9bb3fb06254c91..HEAD:/src/jaceP2P/JaceSuperNodeServer.java diff --git a/src/jaceP2P/JaceSuperNodeServer.java b/src/jaceP2P/JaceSuperNodeServer.java index 8bee6cf..b279e30 100644 --- a/src/jaceP2P/JaceSuperNodeServer.java +++ b/src/jaceP2P/JaceSuperNodeServer.java @@ -3,7 +3,6 @@ package jaceP2P; 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; @@ -40,12 +39,12 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements return beat; } - public Vector sendStub(String IP, int port, JaceSuperNodeInterface stub) + public ArrayList 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 { @@ -55,17 +54,17 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements SuperNodeListe.Instance().viewAll(); } - public void sendSurplus(Vector nodes, ArrayList _gnodes) throws RemoteException { + public void sendSurplus(ArrayList nodes, ArrayList _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()); @@ -317,7 +316,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements ((Maheve) al).setNbSave((int)paramAlgo); break ; default: - al = new DefaultMapping( graph, grid, gnodes ) ; + al = new DefaultMapping( graph, grid ) ; } if (al != null) @@ -465,6 +464,14 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements 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!" ) ; @@ -900,8 +907,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements } return ret ; - } - + } }