Samchon Framework for CPP  1.0.0
ParallelSystemArray.hpp
1 #pragma once
2 #include <samchon/API.hpp>
3 
4 #include <samchon/protocol/ExternalSystemArray.hpp>
5 
6 #include <atomic>
7 
8 namespace samchon
9 {
10 namespace protocol
11 {
12 namespace master
13 {
14  class ParallelSystem;
15 
16  class PRMasterHistoryArray;
17  class PRMasterHistory;
18 
50  class SAMCHON_FRAMEWORK_API ParallelSystemArray
51  : public virtual ExternalSystemArray
52  {
53  friend class ParallelSystem;
54  friend class PRMasterHistory;
55 
56  private:
57  typedef ExternalSystemArray super;
58 
62  std::atomic<size_t> uid;
63 
68 
73 
74  public:
75  /* ------------------------------------------------------------------
76  CONSTRUCTORS
77  ------------------------------------------------------------------ */
82  virtual ~ParallelSystemArray();
83 
84  /* ------------------------------------------------------------------
85  GETTERS
86  ------------------------------------------------------------------ */
87  SHARED_ENTITY_ARRAY_ELEMENT_ACCESSOR_HEADER(ParallelSystem)
88 
89  /* ------------------------------------------------------------------
90  CHAIN OF INVOKE MESSAGE
91  ------------------------------------------------------------------ */
92  using super::sendData;
93 
100  void sendSegmentData(std::shared_ptr<Invoke>, size_t);
101 
109  virtual void sendPieceData(std::shared_ptr<Invoke>, size_t, size_t);
110 
111  protected:
121  virtual void notifyEnd(PRMasterHistory*);
122  };
123 };
124 };
125 };
A history log of an Invoke message on a master.
An array of ExternalSystem(s).
Definition: RWMutex.hpp:4
std::atomic< size_t > uid
Sequence of uid allocating for history.
An array of parallel system drivers.
A network driver for a parallel system.
An array of invoke histories of master.
An Entity and a container of children Entity objects.
Definition: EntityGroup.hpp:52
Standard message of network I/O.
Definition: Invoke.hpp:47
PRMasterHistoryArray * historyArray
An array of history have occured.
Top level namespace of products built from samchon.
Definition: ByteArray.hpp:7
PRMasterHistoryArray * progressArray
An array of history on progress.