IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
DistributedProcessingPolicy.h
1 // DistributedProcessingPolicy.h:
3 // ------------------------------
4 //
15 
16 #ifndef __IPSDKCORE_DISTRIBUTEDPROCESSINGPOLICY_H__
17 #define __IPSDKCORE_DISTRIBUTEDPROCESSINGPOLICY_H__
18 
20 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
21 
22 namespace ipsdk {
23 namespace core {
24 
27 
29 {
30  // declare serial class
32 
33 public:
39 
40 // methods
41 public:
43  bool isInit() const;
44 
46  void init(const ipUInt64& maxMemSzForAllLocalDistributedStrip,
47  const ipUInt64& maxMemSzForRemoteStripRequest,
48  const ipUInt64& distributedProcessingMemThreshold,
49  const ipUInt64& maxMemSzForDistributedProcessing,
50  const ipUInt64& connectionsInitializationTimeOut,
51  const ipUInt64& distributedAllocationWakeUpTimeout,
52  const ipUInt64& distributedAllocationFailureTimeout);
53 
55  void initDefault();
56 
62 
68 
74 
80 
85 
97 
108 
110  void clear();
111 
112 protected:
114  void checkValues();
115 
116 // attributes
117 protected:
122 
127 
131 
135 
139 
150 
160 
162  bool _bInit;
163 };
164 
167 
168 inline bool
170 {
171  return _bInit;
172 }
173 
176 
177 } // end of namespace core
178 } // end of namespace ipsdk
179 
180 #endif // __IPSDKCORE_DISTRIBUTEDPROCESSINGPOLICY_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKCORE_API ipUInt64 getMaxMemSzForDistributedProcessing()
retrieve maximum memory size for processed data on a given remote computer
ipUInt64 _distributedProcessingMemThreshold
Definition: DistributedProcessingPolicy.h:130
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
ipUInt64 _distributedAllocationWakeUpTimeout
Definition: DistributedProcessingPolicy.h:149
ipUInt64 _distributedAllocationFailureTimeout
Definition: DistributedProcessingPolicy.h:159
IPSDKCORE_API ipUInt64 getMaxMemSzForRemoteStripRequest()
retrieve maximum used physical memory (RAM) for remote strip memory storage request ...
IPSDKCORE_API ipUInt64 getMaxMemSzForAllLocalDistributedStrip()
retrieve maximum used physical memory (RAM) for sum of all locally stored distributed strip ...
Definition of import/export macro for library.
ipUInt64 _maxMemSzForDistributedProcessing
Definition: DistributedProcessingPolicy.h:134
#define IPSDKCORE_API
Import/Export macro for library IPSDKCore.
Definition: IPSDKCoreExports.h:27
ipUInt64 _maxMemSzForRemoteStripRequest
Definition: DistributedProcessingPolicy.h:126
ipUInt64 _connectionsInitializationTimeOut
Definition: DistributedProcessingPolicy.h:138
IPSDKCORE_API ipUInt64 getDistributedAllocationFailureTimeout()
retrieve time out (in microseconds) used to determine a failure into waiting loop used for distribute...
Class allowing to describe distributed processing policy used on local machine.
Definition: DistributedProcessingPolicy.h:28
ipUInt64 _maxMemSzForAllLocalDistributedStrip
Definition: DistributedProcessingPolicy.h:121
IPSDKCORE_API ipUInt64 getDistributedProcessingMemThreshold()
retrieve threshold used to trigger a distributed processing of data
IPSDKCORE_API ipUInt64 getDistributedAllocationWakeUpTimeout()
retrieve time out (in microseconds) used to wake up waiting loop during distributed image allocation...
bool _bInit
object initialization flag
Definition: DistributedProcessingPolicy.h:162
Base class for serializable class.
Definition: BaseSerializationObject.h:33
bool isInit() const
retrieve object initialization flag
Definition: DistributedProcessingPolicy.h:169
IPSDKCORE_API ipUInt64 getConnectionsInitializationTimeOut()
retrieve library time out for network connections initialization