Ignore:
Timestamp:
06/10/15 10:39:10 (9 years ago)
Author:
rlacroix
Message:

Domain initialization: Reduce communications and simplify the code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/branchs/xios-1.0/src/node/domain.hpp

    r501 r610  
    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; 
     
    6868         void checkDomainData(void); 
    6969         void checkCompression(void); 
    70           
     70 
    7171         void checkZoom(void); 
    7272         void checkBounds(void); 
     
    7474 
    7575      public : 
    76        
     76 
    7777         /// Autres /// 
    7878 
     
    8484         bool hasZoom(void) const; 
    8585         bool isEmpty(void) const; 
    86           
    87           
     86 
     87 
    8888         int ni_client,ibegin_client,iend_client ; 
    8989         int zoom_ni_client,zoom_ibegin_client,zoom_iend_client ; 
     
    100100         CArray<double, 1> lonvalue_srv, latvalue_srv ; 
    101101         CArray<double, 2> bounds_lon_srv, bounds_lat_srv ; 
    102           
    103           
    104         vector<int> connectedServer ; // list of connected server  
     102 
     103 
     104        vector<int> connectedServer ; // list of connected server 
    105105        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  
     106        vector<int> nbDataSrv ; // size of data to send to each server 
    107107        vector< vector<int> > i_indSrv ; // for each server, i global index to send 
    108108        vector< vector<int> > j_indSrv ; // for each server, j global index to send 
    109         
     109 
    110110        CArray<int,2> mapConnectedServer ;  // (ni,nj) => mapped to connected server number, -1 if no server is target 
    111                 
     111 
    112112//        vector<int> ib_srv, ie_srv, in_srv ; 
    113113//        vector<int> jb_srv, je_srv, jn_srv ; 
    114           
     114 
    115115      public : 
    116        
     116 
    117117         /// Mutateur /// 
    118118         void addRelFile(const StdString & filename); 
    119119         void completeLonLatClient(void); 
    120          void sendServerAttribut(void) ; 
    121          void sendLonLat(void) ; 
    122          void computeConnectedServer(void) ; 
    123          static bool dispatchEvent(CEventServer& event) ; 
    124          static void recvLonLat(CEventServer& event) ; 
    125          static void recvServerAttribut(CEventServer& event) ; 
    126          void recvLonLat(CBufferIn& buffer) ; 
    127          void recvServerAttribut(CBufferIn& buffer) ; 
    128           
     120         void sendServerAttribut(void); 
     121         void sendLonLat(void); 
     122         void computeConnectedServer(void); 
     123         static bool dispatchEvent(CEventServer& event); 
     124         static void recvServerAttribut(CEventServer& event); 
     125         static void recvLonLat(CEventServer& event); 
     126         void recvServerAttribut(CBufferIn& buffer); 
     127         void recvLonLat(int rank, CBufferIn& buffer); 
     128 
    129129         /// Destructeur /// 
    130130         virtual ~CDomain(void); 
     
    133133         static StdString GetName(void); 
    134134         static StdString GetDefName(void); 
    135           
     135 
    136136         static ENodeType GetType(void); 
    137137 
     
    144144         bool isChecked; 
    145145         std::set<StdString> relFiles; 
     146         std::map<int, CArray<int,1> > indiSrv, indjSrv; 
    146147 
    147148   }; // class CDomain 
Note: See TracChangeset for help on using the changeset viewer.