package jaceP2P;
import java.rmi.Naming;
-
-import and.Mapping.GNode;
+import java.rmi.RemoteException;
public class JaceSuperNode {
final int NB_HEART_DECONNECT = 3;
index)).setNbOfNodes(Register.Instance().getSize());
SuperNodeListe.Instance().forwardCountNode();
- GNode deadGNode = snodeServer.delGNodeFromList( host, 0 ) ;
- SuperNodeListe.Instance().removeGNode( deadGNode ) ;
+ try {
+ snodeServer.delGNodeFromList( host, 0 ) ;
+ } catch (RemoteException e) {
+ System.err.println( "Unable to remove the dead node from the list !" ) ;
+ e.printStackTrace();
+ }
+// SuperNodeListe.Instance().removeGNode( deadGNode ) ;
// Register.Instance().viewAll();
// SuperNodeListe.Instance().viewAll();
.setNbOfNodes(Register.Instance().getSize());
new ForwardCount().start();
} catch (Exception e) {
- System.out.println("Error changing Server in SendSurplus : "
+ System.err.println("Error changing Server in SendSurplus : "
+ e);
}
}
System.out.println("Put token to true");
} catch (Exception e) {
- System.out
+ System.err
.println("Unable to heartBeat the next SuperNode with the new Token : "
+ e);
}
public synchronized void workerRegistering(JaceInterface workerStub,
String workerIP, String workerName, int port, GNode g)
throws RemoteException {
- System.out.println("CONNEXION of " + workerName);
+ System.out.println("CONNECTION of " + workerName);
// Create the node
Node noeud = new Node(workerStub);
/** Mapping !! Sébastien Miquée **/
/*********************************/
+ @Override
public Register getRegisterSpawner(String spawnerIP, int nbTasks, Task t,
int nbNoeuds, int algo, double paramAlgo) throws RemoteException {
authorized = true ;
- for (int i = 0; i < ag.size(); i++) {
+ for( int i = 0; i < ag.size(); i++ ) {
reg.addNode((Node) ag.get(i).getNode());
delGNodeFromList( (Node) ag.get(i).getNode(), 0 ) ;
// gnodes.remove(ag.get(i));
}
-// daemonListChange = false ;
-
- System.out.println( "Spawner returned reg: " + reg ) ;
+// System.out.println( "Spawner returned reg: " + reg ) ;
/** Mapping distribution over other Super Nodes */
SuperNodeListe.Instance().setMapping( al ) ;
operating = false ;
- /* Returning result */
+ /** Returning result **/
return reg ;
}
- /*****************************************/
- /**** Sébastien Miquée ****/
- /** **/
- /** Recherche nouveau noeud **/
- /*****************************************/
- protected GNode delGNodeFromList( Node _n, int _mode )
+ @Override
+ public GNode delGNodeFromList( Node _n, int _mode ) throws RemoteException
{
GNode removedGNode = null ;
}
}
-
-// daemonListChange = true ;
-
- SuperNodeListe.Instance().removeGNode( removedGNode ) ;
+ /** Removing the dead node from the Grid **/
+ al.getGrid().removeGNode( removedGNode ) ;
+
+ SuperNodeListe.Instance().removeGNode( removedGNode, _mode ) ;
if( free )
{
inDemand = false ;
}
-
+ @Override
public Node getNewNode( String _spawnerIP, Node _deadNode ) throws RemoteException
{
Node node = null ;
}
- @Override
- public void removeGNode( GNode _g ) throws RemoteException
- {
- if( _g != null )
- {
- boolean free = false ;
-
- if( ! operating )
- {
- workingOnGnodes() ;
- free = true ;
- }
-
- for( int i = 0 ; i < gnodes.size() ; i++ )
- {
- if( ((Node)gnodes.get(i).getNode()).getId() == ((Node)_g.getNode()).getId() )
- {
- gnodes.remove( i ) ;
- Register.Instance().removeNodeOfName( _g.getName() ) ;
- break ;
- }
- }
-
- if( free )
- operating = false ;
- }
-
- }
+// @Override
+// public void removeGNode( GNode _g ) throws RemoteException
+// {
+// if( _g != null )
+// {
+// boolean free = false ;
+//
+// if( ! operating )
+// {
+// workingOnGnodes() ;
+// free = true ;
+// }
+//
+// for( int i = 0 ; i < gnodes.size() ; i++ )
+// {
+// if( ((Node)gnodes.get(i).getNode()).getId() == ((Node)_g.getNode()).getId() )
+// {
+// gnodes.remove( i ) ;
+// Register.Instance().removeNodeOfName( _g.getName() ) ;
+// break ;
+// }
+// }
+//
+// if( free )
+// operating = false ;
+// }
+//
+// }
@Override