Public Member Functions | Static Public Member Functions

VDRIVE::DistRoundRobin Class Reference

#include <DistRoundRobin.h>

Inheritance diagram for VDRIVE::DistRoundRobin:
Inheritance graph
[legend]
Collaboration diagram for VDRIVE::DistRoundRobin:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DistRoundRobin (xercesc::DOMElement *data)
 DistRoundRobin (int argc, char **argv)
 DistRoundRobin (const DistRoundRobin &orig)
virtual ~DistRoundRobin ()
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 int32_t getCopies () const

Static Public Member Functions

static std::string getXMLRootType ()

Detailed Description

Round Robin is an very simple distribution: The disks are arranged in an 0..(numDisks-1) interval and each extend is placed beginning at disk ((position + virtualVolumeId) * copies) % numDisks at the following copies disks. This algorithm is mostly for testing and is absolutly not adaptive. :-)


Constructor & Destructor Documentation

DistRoundRobin::DistRoundRobin ( xercesc::DOMElement *  data )

Create a new instance from the data in the given XML Element.

Parameters:
dataAn XML-Element containing the description of a DistRoundRobin.
DistRoundRobin::DistRoundRobin ( int  argc,
char **  argv 
)

generate a new, uninitialized Round Robin Implementation.

DistRoundRobin::DistRoundRobin ( const DistRoundRobin orig )

copy constructor

Parameters:
origoriginal DistRoundRobin
DistRoundRobin::~DistRoundRobin (  ) [virtual]

Destructor


Member Function Documentation

virtual int32_t VDRIVE::DistRoundRobin::getCopies (  ) const [inline, virtual]
std::list< Disk * > * DistRoundRobin::getDisks (  ) const [virtual]
virtual int64_t VDRIVE::DistRoundRobin::getExtentsize (  ) const [inline, virtual]
static std::string VDRIVE::DistRoundRobin::getXMLRootType (  ) [inline, static]

Get the Root-Type of XML-Elements representing this class.

Returns:
the Root-Type of XML-Elements representing this class.
std::list< Disk * > * DistRoundRobin::placeExtent ( int64_t  virtualVolumeId,
int64_t  position 
) [virtual]
void DistRoundRobin::setConfiguration ( std::list< Disk * > *  disks,
int64_t  extentsize,
int32_t  copies 
) [virtual]
void DistRoundRobin::setDisks ( std::list< Disk * > *  disks ) [virtual]
xercesc::DOMElement * DistRoundRobin::toXML ( xercesc::DOMDocument *  doc ) const [virtual]

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