#include <DistShare.h>
Classes | |
struct | NNInitWorkPackage |
Public Member Functions | |
DistShare (xercesc::DOMElement *data) | |
DistShare (int argc, char **argv) | |
DistShare (const DistShare &orig) | |
virtual | ~DistShare () |
virtual std::list< Disk * > * | placeExtent (int64_t virtualVolumeId, int64_t position) |
virtual void | setConfiguration (std::list< Disk * > *disks, int64_t extentsize, int32_t copies) |
virtual void | setDisks (std::list< Disk * > *disks) |
virtual xercesc::DOMElement * | toXML (xercesc::DOMDocument *doc) const |
virtual std::list< Disk * > * | getDisks () const |
virtual int64_t | getExtentsize () const |
virtual void | setBaseMessage (uint8_t *baseMessage) |
virtual int32_t | getCopies () const |
void | __runInitThread (uint32_t threadID) |
Static Public Member Functions | |
static std::string | getXMLRootType () |
DistShare implemts the Share-Stragegy. This strategy is able to distribute non redundant Extents over heterogeneous disks.
DistShare::DistShare | ( | xercesc::DOMElement * | data ) |
Create a new instance from the data in the given XML Element.
data | An XML-Element containing the description of a DistNearestNeighbour. |
DistShare::DistShare | ( | int | argc, |
char ** | argv | ||
) |
generate a new, uninitialized Nearest Neighbor Implementation.
DistShare::DistShare | ( | const DistShare & | orig ) |
copy constructor
orig | original DistNearestNeighbour |
DistShare::~DistShare | ( | ) | [virtual] |
Destructor
void DistShare::__runInitThread | ( | uint32_t | threadID ) |
only used internelly, but has to be public to be used by pThreads.
This Method can be called in an own thread to initialize the Nearest Neighbour Implementations multi threaded.
virtual int32_t VDRIVE::DistShare::getCopies | ( | ) | const [inline, virtual] |
Share does not support copies, so this is always 1.
Implements VDRIVE::Distributor.
std::list< Disk * > * DistShare::getDisks | ( | ) | const [virtual] |
Implements VDRIVE::Distributor.
virtual int64_t VDRIVE::DistShare::getExtentsize | ( | ) | const [inline, virtual] |
Implements VDRIVE::Distributor.
static std::string VDRIVE::DistShare::getXMLRootType | ( | ) | [inline, static] |
Get the Root-Type of XML-Elements representing this class.
std::list< Disk * > * DistShare::placeExtent | ( | int64_t | virtualVolumeId, |
int64_t | position | ||
) | [virtual] |
Implements VDRIVE::Distributor.
void DistShare::setBaseMessage | ( | uint8_t * | baseMessage ) | [virtual] |
Overridden, so changing the baseMessage in DistShare also changes the baseMessage in the underlying NearestNeighbour implementations.
Reimplemented from VDRIVE::Distributor.
void DistShare::setConfiguration | ( | std::list< Disk * > * | disks, |
int64_t | extentsize, | ||
int32_t | copies | ||
) | [virtual] |
Share does not support copies, so copies is ignored and automatically set to 1.
Implements VDRIVE::Distributor.
void DistShare::setDisks | ( | std::list< Disk * > * | disks ) | [virtual] |
Implements VDRIVE::Distributor.
xercesc::DOMElement * DistShare::toXML | ( | xercesc::DOMDocument * | doc ) | const [virtual] |
Implements VDRIVE::Distributor.