dmlite  0.6
Public Types | Public Member Functions | List of all members
dmlite::PoolManager Class Reference

Interface for pool types. More...

#include <poolmanager.h>

Inheritance diagram for dmlite::PoolManager:
Inheritance graph
[legend]
Collaboration diagram for dmlite::PoolManager:
Collaboration graph
[legend]

Public Types

enum  PoolAvailability {
  kAny, kNone, kForRead, kForWrite,
  kForBoth
}
 

Public Member Functions

virtual ~PoolManager ()
 Destructor. More...
 
virtual std::vector< PoolgetPools (PoolAvailability availability=kAny)
 
virtual Pool getPool (const std::string &poolname)
 Get a specific pool. More...
 
virtual void newPool (const Pool &pool)
 Create a new pool. More...
 
virtual void updatePool (const Pool &pool)
 Update pool metadata. More...
 
virtual void deletePool (const Pool &pool)
 Remove a pool. More...
 
virtual Location whereToRead (const std::string &path)
 
virtual Location whereToRead (ino_t inode)
 
virtual Location whereToWrite (const std::string &path)
 
virtual Location chooseServer (const std::string &path)
 
virtual void cancelWrite (const Location &loc)
 
virtual void getDirSpaces (const std::string &path, int64_t &totalfree, int64_t &used)
 
virtual DmStatus fileCopyPush (const std::string &localsrcpath, const std::string &remotedesturl, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata)
 
virtual DmStatus fileCopyPull (const std::string &localdestpath, const std::string &remotesrcurl, int cksumcheck, char *cksumtype, dmlite_xferinfo *progressdata)
 
- Public Member Functions inherited from dmlite::BaseInterface
virtual ~BaseInterface ()
 Virtual destructor. More...
 
virtual std::string getImplId (void) const =0 throw ()
 String ID of the implementation. More...
 

Additional Inherited Members

- Protected Member Functions inherited from dmlite::BaseInterface
virtual void setStackInstance (StackInstance *si)
 
virtual void setSecurityContext (const SecurityContext *ctx)
 Set the security context. More...
 
- Static Protected Member Functions inherited from dmlite::BaseInterface
static void setStackInstance (BaseInterface *i, StackInstance *si)
 These method allows plugins to call other plugins setStackInstance and setSecurityContext. More...
 
static void setSecurityContext (BaseInterface *i, const SecurityContext *ctx)
 

Detailed Description

Interface for pool types.

Member Enumeration Documentation

Enumerator
kAny 
kNone 
kForRead 
kForWrite 
kForBoth 

Constructor & Destructor Documentation

virtual dmlite::PoolManager::~PoolManager ( )
virtual

Destructor.

Member Function Documentation

virtual void dmlite::PoolManager::cancelWrite ( const Location loc)
virtual

Cancel a write.

Parameters
pathThe logical file name.
locAs returned by whereToWrite
virtual Location dmlite::PoolManager::chooseServer ( const std::string &  path)
virtual

chooses a server to perform alternate operations e.g. tunnelling a gridftp connection

Parameters
pathA path, could be ignored, depending on the implementation
virtual void dmlite::PoolManager::deletePool ( const Pool pool)
virtual

Remove a pool.

Reimplemented in dmlite::DummyPoolManager.

virtual DmStatus dmlite::PoolManager::fileCopyPull ( const std::string &  localdestpath,
const std::string &  remotesrcurl,
int  cksumcheck,
char *  cksumtype,
dmlite_xferinfo progressdata 
)
virtual

Fetch a file from a given URL

Parameters
localdestpathThe logical name of the file to create
remotesrcurlThe URL to read the file from
Returns
0 on success, error code otherwise. EAGAIN means performance marker

Reimplemented in dmlite::DummyPoolManager.

virtual DmStatus dmlite::PoolManager::fileCopyPush ( const std::string &  localsrcpath,
const std::string &  remotedesturl,
int  cksumcheck,
char *  cksumtype,
dmlite_xferinfo progressdata 
)
virtual

Write a logical file towards a given URL

Parameters
localsrcpathThe path of the file
remotedesturlThe URL to write to
Returns
0 on success, error code otherwise. EAGAIN means performance marker

Reimplemented in dmlite::DummyPoolManager.

virtual void dmlite::PoolManager::getDirSpaces ( const std::string &  path,
int64_t &  totalfree,
int64_t &  used 
)
virtual

Get the estimation of the free/used space for writing into a directory

Parameters
pathThe path of the directory to query
totalfreeThe total number of free bytes (may not be contiguous)
usedThe total number of used bytes
virtual Pool dmlite::PoolManager::getPool ( const std::string &  poolname)
virtual

Get a specific pool.

Reimplemented in dmlite::DummyPoolManager.

virtual std::vector<Pool> dmlite::PoolManager::getPools ( PoolAvailability  availability = kAny)
virtual

Get the list of pools.

Parameters
availabilityFilter by availability.

Reimplemented in dmlite::DummyPoolManager.

virtual void dmlite::PoolManager::newPool ( const Pool pool)
virtual

Create a new pool.

Reimplemented in dmlite::DummyPoolManager.

virtual void dmlite::PoolManager::updatePool ( const Pool pool)
virtual

Update pool metadata.

Reimplemented in dmlite::DummyPoolManager.

virtual Location dmlite::PoolManager::whereToRead ( const std::string &  path)
virtual

Get a location for a logical name.

Parameters
pathThe path to get.

Reimplemented in dmlite::DummyPoolManager.

virtual Location dmlite::PoolManager::whereToRead ( ino_t  inode)
virtual

Get a location for an inode

Parameters
inodeThe file inode.

Reimplemented in dmlite::DummyPoolManager.

virtual Location dmlite::PoolManager::whereToWrite ( const std::string &  path)
virtual

Start the PUT of a file.

Parameters
pathThe path of the file to create.
Returns
The physical location where to write.

Reimplemented in dmlite::DummyPoolManager.


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