Samchon Framework for CPP  1.0.0
PRInvokeHistory.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/protocol/InvokeHistory.hpp>
5 
6 namespace samchon
7 {
8 namespace protocol
9 {
10 namespace master
11 {
12  class PRMasterHistory;
13  class ParallelSystemArray;
14  class ParallelSystem;
15 
23  class SAMCHON_FRAMEWORK_API PRInvokeHistory
24  : public InvokeHistory
25  {
26  friend class ParallelSystemArray;
27  friend class PRMasterHistory;
28 
29  private:
30  typedef InvokeHistory super;
31 
32  public:
37 
42 
46  size_t index;
47 
51  size_t size;
52 
53  public:
54  /* --------------------------------------------------------------------
55  CONSTRUCTORS
56  -------------------------------------------------------------------- */
61 
69  PRInvokeHistory(PRMasterHistory*, ParallelSystem*, std::shared_ptr<Invoke>);
70 
71  virtual ~PRInvokeHistory() = default;
72 
73  virtual void construct(std::shared_ptr<library::XML>) override;
74 
75  virtual void notifyEnd() override;
76 
77  /* --------------------------------------------------------------------
78  GETTERS
79  -------------------------------------------------------------------- */
83  inline auto getIndex() const->size_t;
84 
88  auto getSize() const->size_t;
89 
93  auto calcAverageElapsedTime() const -> double;
94 
95  /* --------------------------------------------------------------------
96  EXPORTER
97  -------------------------------------------------------------------- */
98  virtual auto toXML() const->std::shared_ptr<library::XML> override;
99  };
100 };
101 };
102 };
An entity, a standard data class.
Definition: Entity.hpp:48
A history log of an Invoke message on a master.
Definition: RWMutex.hpp:4
A history of an Invoke message.
An array of parallel system drivers.
PRMasterHistory * masterHistory
A history of master.
A network driver for a parallel system.
ParallelSystem * system
A system the history is belonged to.
A reported history of an Invoke message.
Top level namespace of products built from samchon.
Definition: ByteArray.hpp:7