Ignore:
Timestamp:
11/13/14 15:09:14 (9 years ago)
Author:
mhnguyen
Message:

Implementing buffer size auto-detection for mode client -server

+) Process xml tree in client side then send all the information to server
+) Only information enabled fields in enabled files are sent to server
+) Some important change in structure of code which must be refactored

Test
+) On Curie
+) Only mode client-server
+) Passed for all tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/domain.hpp

    r501 r509  
    1515 
    1616namespace xios { 
    17     
     17 
    1818   /// ////////////////////// Déclarations ////////////////////// /// 
    1919 
     
    3939           EVENT_ID_SERVER_ATTRIBUT, EVENT_ID_LON_LAT 
    4040         } ; 
    41           
     41 
    4242         /// typedef /// 
    4343         typedef CObjectTemplate<CDomain>   SuperClass; 
     
    5858         void checkAttributes(void); 
    5959 
     60         void checkAttributesOnClient(); 
     61 
     62         void sendCheckedAttributes(); 
     63 
    6064      private : 
    6165 
     
    6872         void checkDomainData(void); 
    6973         void checkCompression(void); 
    70           
     74 
    7175         void checkZoom(void); 
    7276         void checkBounds(void); 
     
    7478 
    7579      public : 
    76        
     80 
    7781         /// Autres /// 
    7882 
     
    8488         bool hasZoom(void) const; 
    8589         bool isEmpty(void) const; 
    86           
    87           
     90 
     91 
    8892         int ni_client,ibegin_client,iend_client ; 
    8993         int zoom_ni_client,zoom_ibegin_client,zoom_iend_client ; 
     
    100104         CArray<double, 1> lonvalue_srv, latvalue_srv ; 
    101105         CArray<double, 2> bounds_lon_srv, bounds_lat_srv ; 
    102           
    103           
    104         vector<int> connectedServer ; // list of connected server  
     106 
     107 
     108        vector<int> connectedServer ; // list of connected server 
    105109        vector<int> nbSenders ; // for each communication with a server, number of communicating client 
    106         vector<int> nbDataSrv ; // size of data to send to each server  
     110        vector<int> nbDataSrv ; // size of data to send to each server 
    107111        vector< vector<int> > i_indSrv ; // for each server, i global index to send 
    108112        vector< vector<int> > j_indSrv ; // for each server, j global index to send 
    109         
     113 
    110114        CArray<int,2> mapConnectedServer ;  // (ni,nj) => mapped to connected server number, -1 if no server is target 
    111                 
     115 
    112116//        vector<int> ib_srv, ie_srv, in_srv ; 
    113117//        vector<int> jb_srv, je_srv, jn_srv ; 
    114           
     118 
    115119      public : 
    116        
     120 
    117121         /// Mutateur /// 
    118122         void addRelFile(const StdString & filename); 
     
    126130         void recvLonLat(CBufferIn& buffer) ; 
    127131         void recvServerAttribut(CBufferIn& buffer) ; 
    128           
     132 
    129133         /// Destructeur /// 
    130134         virtual ~CDomain(void); 
     
    133137         static StdString GetName(void); 
    134138         static StdString GetDefName(void); 
    135           
     139 
    136140         static ENodeType GetType(void); 
    137141 
     
    144148         bool isChecked; 
    145149         std::set<StdString> relFiles; 
     150         bool isClientChecked; // Verify whether all attributes of domain on the client side is good 
    146151 
    147152   }; // class CDomain 
Note: See TracChangeset for help on using the changeset viewer.