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/domain.hpp

    r1918 r1930  
    2020#include "element.hpp" 
    2121#include "local_connector.hpp" 
     22#include "scatterer_connector.hpp" 
    2223#include "gatherer_connector.hpp" 
     24#include "distribution_type.hpp" 
     25 
    2326 
    2427namespace xios { 
     
    5457           EVENT_ID_AREA, 
    5558           EVENT_ID_DATA_INDEX, EVENT_ID_SERVER_ATTRIBUT, 
    56            EVENT_ID_DOMAIN_DISTRIBUTION 
     59           EVENT_ID_DOMAIN_DISTRIBUTION, EVENT_ID_SEND_DISTRIBUTED_ATTRIBUTE 
    5760         } ; 
    5861 
     
    220223       private: 
    221224 
    222          static void recvDomainDistribution(CEventServer& event) ; 
    223          void receivedDomainDistribution(CEventServer& event, int phasis) ; 
    224          
    225  
    226225         void sendDomainDistribution(CContextClient* client, const string& domainId="") ; //for testing 
    227226         void sendAttributes(); // ym obsolete -> to be removed 
     
    310309         static bool _dummyTransformationMapList; 
    311310 
    312   
     311       ////////////////////////////////////////////////////////////////////////////////////// 
     312       //  this part is related to distribution, element definition, views and connectors  // 
     313       ////////////////////////////////////////////////////////////////////////////////////// 
    313314       private: 
    314315         CLocalElement* localElement_ = nullptr ; 
     
    327328         CLocalConnector* modelToWorkflowConnector_ ; 
    328329         void computeModelToWorkflowConnector(void)  ; 
     330       public: 
     331         CLocalConnector* getModelToWorkflowConnector(void) { if (modelToWorkflowConnector_==nullptr) computeModelToWorkflowConnector() ; return modelToWorkflowConnector_ ;} 
     332 
     333       public: 
     334         void computeRemoteElement(CContextClient* client, EDistributionType) ; 
     335         void distributeToServer(CContextClient* client, std::map<int, CArray<size_t,1>>& globalIndex, const string& domainId="") ; 
     336 
     337         static void recvDomainDistribution(CEventServer& event) ; 
     338         void receivedDomainDistribution(CEventServer& event, int phasis) ; 
     339 
     340         void sendDistributedAttributes(CContextClient* client, CScattererConnector& scaterrerConnector, const string& domainId) ; 
     341         static void recvDistributedAttributes(CEventServer& event) ; 
     342         void recvDistributedAttributes(CEventServer& event, const string& type) ; 
     343       private: 
     344         map<CContextClient*, CDistributedElement*> remoteElement_ ; 
     345       public:  
     346         CDistributedElement* getRemoteElement(CContextClient* client) {return remoteElement_[client] ;} 
     347       private: 
     348         map<CContextClient*, CScattererConnector*> clientToServerConnector_ ; 
     349       public:  
     350         CScattererConnector* getClientToServerConnector(CContextClient* client) { return clientToServerConnector_[client] ;} 
     351       private: 
    329352         CGathererConnector*  gathererConnector_ ; 
    330  
    331        public: 
    332          CLocalConnector* getModelToWorkflowConnector(void) { if (modelToWorkflowConnector_==nullptr) computeModelToWorkflowConnector() ; return modelToWorkflowConnector_ ;} 
    333           
     353         CGathererConnector* serverFromClientConnector_ ; 
     354         CDistributedElement* elementFrom_ ; 
     355       public: 
     356        CGathererConnector* getServerFromClientConnector(void) { return serverFromClientConnector_ ;} 
     357 
     358          
     359 
    334360         DECLARE_REF_FUNC(Domain,domain) 
    335361 
Note: See TracChangeset for help on using the changeset viewer.