15 #ifndef __IPSDKBASEPROCESSING_BASEPROCESSORDISPATCHER_H__ 16 #define __IPSDKBASEPROCESSING_BASEPROCESSORDISPATCHER_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4251) 26 #include <IPSDKCore/Processing/ActionProvider/BaseActionProvider.h> 27 #include <IPSDKUtil/Tools/ProcessingResult.h> 29 #include <boost/thread/mutex.hpp> 65 virtual const std::string& getProcessorName()
const = 0;
68 virtual const std::string& getProcessorToolTip()
const = 0;
79 ipUInt64 getNbPendingElements()
const;
82 ipUInt64 getNbProcessedElements()
const;
88 ipUInt64 getRemainingDataMemorySize()
const;
100 const GuidSet& broadcastSocketGuids,
103 const ipUInt64 minMemSzPerThread = 0,
118 void broadcastToRemotes();
127 bool& bProcessCompletionCheck,
143 bool hasPendingAction()
const;
150 bool& bRestartProvider);
165 bool _bLocalProcessingAllowed;
168 bool _bRemoteProcessingAllowed;
178 GuidSet _overSuppliedSocketGuids;
190 #pragma warning (pop) 192 #endif // __IPSDKBASEPROCESSING_BASEPROCESSORDISPATCHER_H__
Predefined types for elements informations management.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
#define IPSDKBASEPROCESSING_API
Import/Export macro for library IPSDKBaseProcessing.
Definition: IPSDKBaseProcessingExports.h:27
boost::shared_ptr< const BaseSerializationObject > SerializationObjectConstPtr
shared pointer to a const base serialization object
Definition: SerializationTypes.h:32
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Base class for priority encapsulation.
Definition: BasePriority.h:32
boost::shared_ptr< const ElementsSplitInfo > ElementsSplitInfoConstPtr
shared pointer to const elements split informations
Definition: ElementsInfoTypes.h:61
std::map< Guid, ipUInt64 > RemoteDataSize
collection of guid associated to a data size
Definition: ElementsInfoTypes.h:46
Definition: NumericLimits.h:27
Predefined types for processor management.
Base class for action providers.
Definition: BaseActionProvider.h:54
boost::shared_ptr< ElementsSplitInfo > ElementsSplitInfoPtr
shared pointer to elements split informations
Definition: ElementsInfoTypes.h:58
boost::shared_ptr< BaseActionRequest > ActionRequestPtr
shared pointer for action requests
Definition: ActionRequestTypes.h:52
Class allowing to store information about elements range (start offset and number of elements) ...
Definition: ElementsRange.h:27
boost::shared_ptr< ElementsLocationInfo > ElementsLocationInfoPtr
shared pointer to elements location informations
Definition: ElementsInfoTypes.h:52
boost::shared_ptr< BaseSerializationObject > SerializationObjectPtr
shared pointer to a base serialization object
Definition: SerializationTypes.h:23
Definition of import/export macro for library.
Base class for request origin description.
Definition: BaseRequestOrigin.h:28
boost::shared_ptr< BaseProcessor > ProcessorPtr
shared pointer to processor class
Definition: ProcessorTypes.h:106
std::set< Guid > GuidSet
collection of unique ordered guid
Definition: GuidTypes.h:27
Base class for processor operations dispatching.
Definition: BaseProcessorDispatcher.h:37
Class encapsuling dispatch policy for processor dispatcher classes.
Definition: ProcessorDispatchPolicy.h:33
Class allowing to store elements location informations.
Definition: ElementsLocationInfo.h:32
eProcessorRulePolicy
Enumerate describing processor rule policy.
Definition: ProcessorTypes.h:65
boost::shared_ptr< ProcessorDispatchPolicy > ProcessorDispatchPolicyPtr
shared pointer to ProcessorDispatchPolicy object
Definition: ProcessorDispatchPolicyTypes.h:49