Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Modifying functions manipulating Grid classes.
[jaceP2P.git] / src / jaceP2P / JaceSuperNodeServer.java
index c954257..5e67a4c 100644 (file)
@@ -77,7 +77,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
                                                .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);
                        }
                }
@@ -99,7 +99,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
 
                        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);
                }
@@ -123,7 +123,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
        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);
@@ -200,6 +200,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
        /** Mapping !! Sébastien Miquée **/
        /*********************************/
 
+       @Override
        public Register getRegisterSpawner(String spawnerIP, int nbTasks, Task t,
                        int nbNoeuds, int algo, double paramAlgo) throws RemoteException {
 
@@ -299,7 +300,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
 
                        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));
@@ -329,26 +330,20 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
 
                } 
                
-//             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 ;
                
@@ -392,10 +387,10 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
                                }       
                        }
                        
-               
-//             daemonListChange = true ;
-               
-                       SuperNodeListe.Instance().removeGNode( removedGNode ) ;
+                       /** Removing the dead node from the Grid **/
+                       al.getGrid().removeGNode( removedGNode ) ;
+                       
+                       SuperNodeListe.Instance().removeGNode( removedGNode, _mode ) ;
                        
                        if( free )
                        {
@@ -439,7 +434,7 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
                inDemand = false ;
        }
 
-               
+       @Override
        public Node getNewNode( String _spawnerIP, Node _deadNode ) throws RemoteException
        {
                Node node = null ;
@@ -558,34 +553,34 @@ public class JaceSuperNodeServer extends UnicastRemoteObject implements
        }
        
 
-       @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