Samchon Framework for CPP  1.0.0
PRMasterHistory.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/protocol/master/PRInvokeHistory.hpp>
5 
6 #include <atomic>
7 #include <vector>
8 #include <samchon/library/CriticalVector.hpp>
9 
10 namespace samchon
11 {
12 namespace protocol
13 {
14 namespace master
15 {
16  class ParallelSystemArray;
17  class PRMasterHistoryArray;
18 
28  class SAMCHON_FRAMEWORK_API PRMasterHistory
29  : public PRInvokeHistory
30  {
31  friend class ParallelSystemArray;
32 
33  protected:
34  typedef PRInvokeHistory super;
35 
40 
45 
49  std::atomic<size_t> completed;
50 
51  public:
58  PRMasterHistory(PRMasterHistoryArray*, std::shared_ptr<Invoke>, size_t, size_t);
59  virtual ~PRMasterHistory() = default;
60 
61  virtual void notifyEnd() override;
62  };
63 };
64 };
65 };
An entity, a standard data class.
Definition: Entity.hpp:48
A history log of an Invoke message on a master.
std::vector< T, CriticalAllocator< T >> CriticalVector
A std::vector ensures concurrency.
ParallelSystemArray * master
A master the history is belonged to.
std::atomic< size_t > completed
Completed count.
An array of parallel system drivers.
An array of invoke histories of master.
A reported history of an Invoke message.
library::CriticalVector< PRInvokeHistory * > historyArray
An array of histories which are generated in each system.
Top level namespace of products built from samchon.
Definition: ByteArray.hpp:7