Ignore:
Timestamp:
09/10/20 13:51:02 (4 years ago)
Author:
ymipsl
Message:

Big update on on going work related to data distribution and transfer between clients and servers.
Revisite of the source and store filter using "connectors".

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/axis.hpp

    r1918 r1930  
    1818#include "element.hpp" 
    1919#include "local_connector.hpp" 
     20#include "scatterer_connector.hpp" 
     21#include "gatherer_connector.hpp" 
     22#include "distribution_type.hpp" 
     23 
    2024 
    2125namespace xios { 
     
    5054           EVENT_ID_NON_DISTRIBUTED_VALUE, 
    5155           EVENT_ID_NON_DISTRIBUTED_ATTRIBUTES, 
    52            EVENT_ID_DISTRIBUTED_ATTRIBUTES 
     56           EVENT_ID_DISTRIBUTED_ATTRIBUTES, 
     57           EVENT_ID_AXIS_DISTRIBUTION, 
     58           EVENT_ID_SEND_DISTRIBUTED_ATTRIBUTE 
    5359         } ; 
    5460 
     
    164170 
    165171         void sendNonDistributedAttributes(CContextClient* client, const string& axisId=""); 
    166          void sendDistributedAttributes(CContextClient* client, const string& axisId=""); 
     172         void sendDistributedAttributes_old(CContextClient* client, const string& axisId=""); 
    167173 
    168174         static void recvNonDistributedAttributes(CEventServer& event); 
    169          static void recvDistributedAttributes(CEventServer& event); 
     175         static void recvDistributedAttributes_old(CEventServer& event); 
    170176         static void recvDistributionAttribute(CEventServer& event); 
    171177         void recvNonDistributedAttributes(int rank, CBufferIn& buffer); 
    172          void recvDistributedAttributes(vector<int>& rank, vector<CBufferIn*> buffers); 
     178         void recvDistributedAttributes_old(vector<int>& rank, vector<CBufferIn*> buffers); 
    173179         void recvDistributionAttribute(CBufferIn& buffer); 
    174180 
     
    225231 
    226232 
     233       ////////////////////////////////////////////////////////////////////////////////////// 
     234       //  this part is related to distribution, element definition, views and connectors  // 
     235       ////////////////////////////////////////////////////////////////////////////////////// 
    227236          
    228237        private: 
     
    242251        public: 
    243252         CLocalConnector* getModelToWorkflowConnector(void) { if (modelToWorkflowConnector_==nullptr) computeModelToWorkflowConnector() ; return modelToWorkflowConnector_ ;} 
     253        
     254       public: 
     255         void computeRemoteElement(CContextClient* client, EDistributionType) ; 
     256         void distributeToServer(CContextClient* client, std::map<int, CArray<size_t,1>>& globalIndex, const string& axisId="") ; 
     257 
     258         static void recvAxisDistribution(CEventServer& event) ; 
     259         void receivedAxisDistribution(CEventServer& event, int phasis) ; 
     260 
     261         void sendDistributedAttributes(CContextClient* client, CScattererConnector& scattererConnector, const string& axisId) ; 
     262         static void recvDistributedAttributes(CEventServer& event) ; 
     263         void recvDistributedAttributes(CEventServer& event, const string& type) ; 
     264       private: 
     265         map<CContextClient*, CDistributedElement*> remoteElement_ ; 
     266       public:  
     267         CDistributedElement* getRemoteElement(CContextClient* client) {return remoteElement_[client] ;} 
     268       private: 
     269         map<CContextClient*, CScattererConnector*> clientToServerConnector_ ; 
     270       public:  
     271         CScattererConnector* getClientToServerConnector(CContextClient* client) { return clientToServerConnector_[client] ;} 
     272       private: 
     273         CGathererConnector*  gathererConnector_ ; 
     274         CGathererConnector* serverFromClientConnector_ ; 
     275         CDistributedElement* elementFrom_ ; 
     276       public: 
     277        CGathererConnector* getServerFromClientConnector(void) { return serverFromClientConnector_ ;} 
     278 
    244279 
    245280 
Note: See TracChangeset for help on using the changeset viewer.