Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Adding some new functions.
[mapping.git] / src / and / Mapping / Algo.java
index 79a210f..608c667 100644 (file)
@@ -63,7 +63,7 @@ public abstract class Algo implements Serializable
         * in order to bring fault tolerance. 
         * @return Another node which will not compute
         */
-       public abstract GNode getOtherGNode() ;
+       public abstract GNode getOtherGNode( ArrayList<GNode> _ag ) ;
        
        
        /**
@@ -74,6 +74,44 @@ public abstract class Algo implements Serializable
        {
                return mp ;
        }       
+       
+       
+       /**
+        * Return the grid used in the algorithm.
+        * @return The Grid
+        */
+       public Grid getGrid()
+       {
+               return gl ;
+       }
+       
+       
+       /**
+        * Return the graph used in the algorithm.
+        * @return The Graph
+        */
+       public Graph getGraph()
+       {
+               return gr ;
+       }
+       
+       
+       /**
+        * Update the grid status after having done the mapping.
+        */
+       public void updateGrid()
+       {
+               if( mp.getMappedGNodes().size() > 0 )
+               {
+                       ArrayList<GNode> temp = mp.getMappedGNodes() ;
+                       for( int i = 0 ; i < temp.size() ; i++ )
+                       {
+                               gl.getClusterOfNode( temp.get( i ) ).setGNodeStatus( temp.get( i ), true ) ;
+                               
+                               gl.setMappedStatus( temp.get( i ), true ) ;
+                       }
+               }
+       }
 }
 
 /** La programmation est un art, respectons ceux qui la pratiquent !! **/