IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ipsdk::processor::ElementsSplitInfo Class Reference

Class allowing to store elements split informations. More...

#include <ElementsSplitInfo.h>

Inheritance diagram for ipsdk::processor::ElementsSplitInfo:

Public Member Functions

bool isInit () const
 check for object initialization
 
void init (const ElementsLocationInfo &elementsLocationInfo, const ipUInt64 nbMinEltsPerSplit, const ipUInt64 nbMaxEltsPerSplit, const ipUInt64 minMemSzPerSplit, const ipUInt64 maxMemSzPerSplit, const ipUInt64 nbMaxAskedThreads)
 
ipUInt64 getNbMinEltsPerSplit () const
 retrieve minimum number of elements by split More...
 
ipUInt64 getNbMaxEltsPerSplit () const
 retrieve maximum number of elements by split More...
 
ipUInt64 getMinMemSzPerSplit () const
 retrieve minimum number of elements by split More...
 
ipUInt64 getMaxMemSzPerSplit () const
 retrieve maximum number of elements by split More...
 
bool hasPendingData () const
 check whether data are still waiting to be processed More...
 
bool hasRemainingData () const
 check whether data are still waiting to be processed or are still waiting to be released More...
 
bool hasSocketGuid (const Guid &socketGuid) const
 check whether a given socket guid is valid for object More...
 
ipUInt64 getRemainingDataMemorySize () const
 retrieve remaining data memory size associated to not processed elements More...
 
ipUInt64 getRemainingDataMemorySize (const Guid &socketGuid) const
 retrieve remaining data memory size associated to not processed elements for a given socket guid More...
 
ipUInt64 getAcquiredDataMemorySize (const Guid &socketGuid) const
 retrieve currently acquired data memory size associated a given socket guid More...
 
core::QueryResult acquiredNextRange (ElementsRange &acquiredElementsRange, ipUInt64 &acquiredDataMemorySize)
 method allowing to acquired a not already processed range of data associated to local data More...
 
core::QueryResult acquiredNextRange (const Guid &socketGuid, ElementsRange &acquiredElementsRange, ipUInt64 &acquiredDataMemorySize)
 method allowing to acquired a not already processed range of data associated to a given socket guid More...
 
core::QueryResult stealNextLocalRange (const Guid &socketGuid, ElementsRange &acquiredElementsRange, ipUInt64 &acquiredDataMemorySize)
 method allowing to steal a not already processed local range of data to be processed by a given socket guid
 
core::QueryResult forceNextRangeAcquisition (ElementsRange &acquiredElementsRange, ipUInt64 &acquiredDataMemorySize)
 method allowing to acquire a not already processed range of data to be processed by local machine without consideration on data localization
 
void markHasReleased (const Guid &socketGuid, const ElementsRange &elementsRange)
 remove some data from remotely acquired data More...
 
const ElementsLocationgetProcessedElements () const
 retrieve processed elements informations More...
 
ipUInt64 getNbProcessedElements () const
 retrieve number of processed elements More...
 
ipUInt64 getNbNotReleased () const
 retrieve number of not released elements More...
 
ipUInt64 getNbPendingElements () const
 retrieve number of pending elements More...
 
RemoteDataSize getNotReleasedDataSizes () const
 retrieve the size of data used by the process More...
 
void clear ()
 clear of object data
 
Constructors and destructors
 ElementsSplitInfo ()
 
 ~ElementsSplitInfo ()
 

Protected Member Functions

core::QueryResult acquiredNextRange (const Guid &socketGuidOwner, const Guid &socketGuidProcessor, ElementsRange &acquiredElementsRange, ipUInt64 &acquiredDataMemorySize)
 method allowing to acquired a not already processed range of data associated to a given socket guid owner and for a given socket guid processor More...
 

Protected Attributes

ipUInt64 _nbMinEltsPerSplit
 minimum number of elements for a split operation
 
ipUInt64 _nbMaxEltsPerSplit
 maximum number of elements for a split operation
 
ipUInt64 _minMemSzPerSplit
 minimum data size for a split operation
 
ipUInt64 _maxMemSzPerSplit
 maximum data size for a split operation
 
ipUInt64 _remainingDataMemorySize
 remaining data memory size associated to not processed elements
 
ElementsLocation _pendingElements
 collection of pending elements for processing
 
ElementsLocation _acquiredElements
 
RemoteDataSize _acquiredDataSizes
 
ElementsLocation _processedElements
 collection of processed elements
 
bool _bInit
 flag indicating whether object has been initialized
 

Detailed Description

Class allowing to store elements split informations.

Author
E. Noirfalise
Date
2015/10/06

Member Function Documentation

◆ init()

void ipsdk::processor::ElementsSplitInfo::init ( const ElementsLocationInfo elementsLocationInfo,
const ipUInt64  nbMinEltsPerSplit,
const ipUInt64  nbMaxEltsPerSplit,
const ipUInt64  minMemSzPerSplit,
const ipUInt64  maxMemSzPerSplit,
const ipUInt64  nbMaxAskedThreads 
)

initialization of object It is possible to enforce the maximum number of threads used to dispatch the data

Note
if nbMaxThreads == 0, the number of threads is determined by the local processing policy
Exceptions
ipsdk::IPSDKBaseProcessingExceptionif nbMinEltsPerSplit == 0
ipsdk::IPSDKBaseProcessingExceptionif nbMinEltsPerSplit > nbMaxEltsPerSplit
ipsdk::IPSDKBaseProcessingExceptionif elementsLocationInfo informations are not compatible with min/max elements per split parameters

◆ getNbMinEltsPerSplit()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getNbMinEltsPerSplit ( ) const

retrieve minimum number of elements by split

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getNbMaxEltsPerSplit()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getNbMaxEltsPerSplit ( ) const

retrieve maximum number of elements by split

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getMinMemSzPerSplit()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getMinMemSzPerSplit ( ) const

retrieve minimum number of elements by split

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getMaxMemSzPerSplit()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getMaxMemSzPerSplit ( ) const

retrieve maximum number of elements by split

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ hasPendingData()

bool ipsdk::processor::ElementsSplitInfo::hasPendingData ( ) const

check whether data are still waiting to be processed

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ hasRemainingData()

bool ipsdk::processor::ElementsSplitInfo::hasRemainingData ( ) const

check whether data are still waiting to be processed or are still waiting to be released

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ hasSocketGuid()

bool ipsdk::processor::ElementsSplitInfo::hasSocketGuid ( const Guid socketGuid) const

check whether a given socket guid is valid for object

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getRemainingDataMemorySize() [1/2]

ipUInt64 ipsdk::processor::ElementsSplitInfo::getRemainingDataMemorySize ( ) const

retrieve remaining data memory size associated to not processed elements

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getRemainingDataMemorySize() [2/2]

ipUInt64 ipsdk::processor::ElementsSplitInfo::getRemainingDataMemorySize ( const Guid socketGuid) const

retrieve remaining data memory size associated to not processed elements for a given socket guid

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif hasSocketGuid(socketGuid) == false

◆ getAcquiredDataMemorySize()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getAcquiredDataMemorySize ( const Guid socketGuid) const

retrieve currently acquired data memory size associated a given socket guid

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif hasSocketGuid(socketGuid) == false

◆ acquiredNextRange() [1/3]

core::QueryResult ipsdk::processor::ElementsSplitInfo::acquiredNextRange ( ElementsRange acquiredElementsRange,
ipUInt64 acquiredDataMemorySize 
)

method allowing to acquired a not already processed range of data associated to local data

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ acquiredNextRange() [2/3]

core::QueryResult ipsdk::processor::ElementsSplitInfo::acquiredNextRange ( const Guid socketGuid,
ElementsRange acquiredElementsRange,
ipUInt64 acquiredDataMemorySize 
)

method allowing to acquired a not already processed range of data associated to a given socket guid

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif hasSocketGuid(socketGuid) == false

◆ markHasReleased()

void ipsdk::processor::ElementsSplitInfo::markHasReleased ( const Guid socketGuid,
const ElementsRange elementsRange 
)

remove some data from remotely acquired data

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif elements range has not been acquired

◆ getProcessedElements()

const ElementsLocation& ipsdk::processor::ElementsSplitInfo::getProcessedElements ( ) const

retrieve processed elements informations

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif hasRemainingData() == true

◆ getNbProcessedElements()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getNbProcessedElements ( ) const

retrieve number of processed elements

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getNbNotReleased()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getNbNotReleased ( ) const

retrieve number of not released elements

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getNbPendingElements()

ipUInt64 ipsdk::processor::ElementsSplitInfo::getNbPendingElements ( ) const

retrieve number of pending elements

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ getNotReleasedDataSizes()

RemoteDataSize ipsdk::processor::ElementsSplitInfo::getNotReleasedDataSizes ( ) const

retrieve the size of data used by the process

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif isInit() == false

◆ acquiredNextRange() [3/3]

core::QueryResult ipsdk::processor::ElementsSplitInfo::acquiredNextRange ( const Guid socketGuidOwner,
const Guid socketGuidProcessor,
ElementsRange acquiredElementsRange,
ipUInt64 acquiredDataMemorySize 
)
protected

method allowing to acquired a not already processed range of data associated to a given socket guid owner and for a given socket guid processor

Exceptions
ipsdk::IPSDKBaseProcessingExceptionif hasSocketGuid(socketGuidOwner) == false

Member Data Documentation

◆ _acquiredElements

ElementsLocation ipsdk::processor::ElementsSplitInfo::_acquiredElements
protected

collection of acquired elements associated to currently processed data

◆ _acquiredDataSizes

RemoteDataSize ipsdk::processor::ElementsSplitInfo::_acquiredDataSizes
protected

collection of socket guid associated to an amount of currently processed data


The documentation for this class was generated from the following file: