Ignore:
Timestamp:
09/19/22 10:38:09 (21 months ago)
Author:
ymipsl
Message:

Add the possibility to launch a service on same ressource than an other.
YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/manager/pool_ressource.hpp

    r2274 r2404  
    2121    CWindowManager* winNotify_ ; 
    2222     
    23    public: 
     23    private: 
     24    const int NOTIFY_NOTHING=0 ; 
     25    const int NOTIFY_CREATE_SERVICE=1 ; 
     26    const int NOTIFY_CREATE_SERVICE_ONTO=2 ; 
     27 
     28    public: 
    2429    CPoolRessource(MPI_Comm poolComm, const std::string& Id) ; 
    2530    ~CPoolRessource() ; 
     
    2732    void createService(const std::string& serviceId, int type, int size, int nbPartition) ; 
    2833    void createService(MPI_Comm serviceComm, const std::string& serviceId, int partitionId, int type, int nbPartitions) ;  
    29     void createServiceNotify(int rank, const std::string& serviceId, int type, int size, int nbPartitions, bool in) ; 
    30     void createServiceDumpOut(CBufferOut& buffer) ; 
    31     void createServiceDumpIn(CBufferIn& buffer) ; 
    32     void checkCreateServiceNotification(void) ; 
    33     void createNewService(const std::string& serviceId, int type, int size, int nbPartitions, bool in) ; 
    34      bool eventLoop(bool serviceOnly=false) ; 
     34    void createServiceOnto(const std::string& serviceId, int type, const std::string& OnServiceId) ; 
     35    bool eventLoop(bool serviceOnly=false) ; 
    3536    CService* getService(const std::string serviceId, int partitionId) { return services_[make_tuple(serviceId,partitionId)]; } 
    3637    void finalizeSignal(void) ; 
    3738    string getId(void) { return Id_; } 
     39 
     40  private: 
     41    void createServiceNotify(int rank, const string& serviceId, int type, int size, int nbPartitions, bool in) ; 
     42    void createServiceOntoNotify(int rank, const string& serviceId, int type, const string& onServiceId) ; 
     43    void sendNotification(int rank) ; 
     44    void checkNotifications(void) ; 
     45    void notificationsDumpOut(CBufferOut& buffer) ; 
     46    void notificationsDumpIn(CBufferIn& buffer) ; 
     47    void createService(void) ; 
     48    void createServiceOnto(void) ; 
    3849     
    39    private: 
     50//    void createServiceNotify(int rank, const std::string& serviceId, int type, int size, int nbPartitions, bool in) ; 
     51//    void createServiceDumpOut(CBufferOut& buffer) ; 
     52//    void createServiceDumpIn(CBufferIn& buffer) ; 
     53//    void checkCreateServiceNotification(void) ; 
     54    void createNewService(const std::string& serviceId, int type, int size, int nbPartitions, bool in) ; 
     55    void createNewServiceOnto(const std::string& serviceId, int type, const string& onServiceId) ; 
     56     
     57    private: 
    4058    MPI_Comm poolComm_ ; 
    4159     
    4260    std::multimap<int,int> occupancy_ ; 
    43     std::list<std::tuple<std::string, int, int, int, bool> > notifications_; 
     61 
     62//    std::list<std::tuple<std::string, int, int, int, bool> > notifications_; 
     63     
     64    int notifyType_ ; 
     65    tuple<std::string, int, int, int, bool> notifyCreateService_ ; 
     66    tuple<std::string, int, std::string> notifyCreateServiceOnto_ ; 
     67 
     68 
    4469    std::map< std::tuple<std::string, int>, CService*> services_ ; 
    4570    std::string Id_ ; 
Note: See TracChangeset for help on using the changeset viewer.