- HostContainer(simgrid::s4u::Host& host, NetZoneContainer* father);
-};
-
-class PajeEvent {
-protected:
- Container* container;
- Type* type;
-
-public:
- double timestamp_;
- e_event_type eventType_;
- PajeEvent(Container* container, Type* type, double timestamp, e_event_type eventType)
- : container(container), type(type), timestamp_(timestamp), eventType_(eventType){};
- virtual void print() = 0;
- virtual ~PajeEvent();
- void insertIntoBuffer();
-};
-
-//--------------------------------------------------
-class SetVariableEvent : public PajeEvent {
- double value;
-
-public:
- SetVariableEvent(double timestamp, Container* container, Type* type, double value);
- void print() override;
-};
-
-class AddVariableEvent : public PajeEvent {
- double value;
-
-public:
- AddVariableEvent(double timestamp, Container* container, Type* type, double value);
- void print() override;
-};
-//--------------------------------------------------
-
-class SubVariableEvent : public PajeEvent {
- double value;
-
-public:
- SubVariableEvent(double timestamp, Container* container, Type* type, double value);
- void print() override;
-};
-//--------------------------------------------------
-
-class SetStateEvent : public PajeEvent {
- Value* value;
- const char* filename;
- int linenumber;
-
-public:
- SetStateEvent(double timestamp, Container* container, Type* type, Value* val);
- void print() override;
-};
-
-class PushStateEvent : public PajeEvent {
- Value* value;
- const char* filename;
- int linenumber;
- void* extra_;
-
-public:
- PushStateEvent(double timestamp, Container* container, Type* type, Value* val);
- PushStateEvent(double timestamp, Container* container, Type* type, Value* val, void* extra);
- void print() override;
-};
-
-class PopStateEvent : public PajeEvent {
-public:
- PopStateEvent(double timestamp, Container* container, Type* type);
- void print() override;
-};
-
-class ResetStateEvent : public PajeEvent {
-public:
- ResetStateEvent(double timestamp, Container* container, Type* type);
- void print() override;
-};
-
-class StartLinkEvent : public PajeEvent {
- Container* sourceContainer_;
- std::string value_;
- std::string key_;
- int size_;
-
-public:
- StartLinkEvent(double timestamp, Container* container, Type* type, Container* sourceContainer, std::string value,
- std::string key);
- StartLinkEvent(double timestamp, Container* container, Type* type, Container* sourceContainer, std::string value,
- std::string key, int size);
- void print() override;
-};
-
-class EndLinkEvent : public PajeEvent {
- Container* destContainer;
- std::string value;
- std::string key;
-
-public:
- EndLinkEvent(double timestamp, Container* container, Type* type, Container* destContainer, std::string value,
- std::string key);
- ~EndLinkEvent() = default;
- void print() override;
-};
-
-class NewEvent : public PajeEvent {
- Value* val;
-
-public:
- NewEvent(double timestamp, Container* container, Type* type, Value* val);
- void print() override;
+ explicit VarCollTIData(std::string name, int root, int send_size, std::vector<int>* sendcounts, int recv_size,
+ std::vector<int>* recvcounts, std::string send_type, std::string recv_type)
+ : TIData(name, root, send_size, sendcounts, recv_size, recvcounts, send_type, recv_type){};
+
+ explicit VarCollTIData(std::string name, int root, int send_size, std::shared_ptr<std::vector<int>> sendcounts,
+ int recv_size, std::shared_ptr<std::vector<int>> recvcounts, std::string send_type,
+ std::string recv_type)
+ : TIData(name, root, send_size, sendcounts, recv_size, recvcounts, send_type, recv_type){};
+
+ std::string print() override
+ {
+ std::stringstream stream;
+ stream << getName() << " ";
+ if (send_size >= 0)
+ stream << send_size << " ";
+ if (sendcounts != nullptr)
+ for (auto count : *sendcounts)
+ stream << count << " ";
+ if (recv_size >= 0)
+ stream << recv_size << " ";
+ if (recvcounts != nullptr)
+ for (auto count : *recvcounts)
+ stream << count << " ";
+ if (endpoint > 0 || (endpoint == 0 && not send_type.empty()))
+ stream << endpoint << " ";
+ stream << send_type << " " << recv_type;
+
+ return stream.str();
+ }
+ std::string display_size() override { return std::to_string(send_size > 0 ? send_size : recv_size); }