saga::replica::logical_file Class Reference

The saga::replica class implements the saga::attributes interface. More...

#include <logical_file.hpp>

Inheritance diagram for saga::replica::logical_file:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 logical_file (session const &s, saga::url url, int mode=Read)
 Creates the object.
 logical_file (saga::url url, int mode=Read)
 Creates the object.
 logical_file (saga::object const &o)
 Creates the object.
 logical_file (void)
 Creates the object.
 ~logical_file (void)
 Destroys the object.
logical_fileoperator= (saga::object const &o)
 Brief description starts here.
void add_location (saga::url url)
 Add a replica location to the replica set.
void remove_location (saga::url url)
 Remove a replica location from the replica set.
void update_location (saga::url old_url, saga::url new_url)
 Change a replica location in the replica set.
std::vector< saga::urllist_locations (void)
 List the locations in the location set.
void replicate (saga::url url, int flags=saga::replica::None)
 Brief Replicate a file from any of the known replica locations to a new location, and, on success, add the new replica location to the set of associated replicas.

Static Public Member Functions

static logical_file create (session const &s, saga::url url, int mode=Read)
 Factory function resembling logical_file(session, url, int) constructor.
static logical_file create (saga::url url, int mode=Read)
 Factory function resembling logical_file(url, int) constructor.
template<typename Tag>
static saga::task create (saga::url url, int mode=Read)
 Factory function resembling entry(url, int) constructor.


Detailed Description

The saga::replica class implements the saga::attributes interface.

A logical file represents merely an entry in a name space which has (a) an associated set of registered (physical) replicas of that file, and (b) an associated set of meta data describing that logical file. Both sets can be empty. To access the content of a logical file, a saga::file needs to be created with one of the registered replica locations.


Constructor & Destructor Documentation

saga::replica::logical_file::logical_file ( session const &  s,
saga::url  url,
int  mode = Read 
)

Creates the object.

saga::replica::logical_file::logical_file ( saga::url  url,
int  mode = Read 
) [explicit]

Creates the object.

saga::replica::logical_file::logical_file ( saga::object const &  o  )  [explicit]

saga::replica::logical_file::logical_file ( void   ) 

Creates the object.

saga::replica::logical_file::~logical_file ( void   ) 

Destroys the object.


Member Function Documentation

static logical_file saga::replica::logical_file::create ( session const &  s,
saga::url  url,
int  mode = Read 
) [inline, static]

Factory function resembling logical_file(session, url, int) constructor.

Reimplemented from saga::name_space::entry.

static logical_file saga::replica::logical_file::create ( saga::url  url,
int  mode = Read 
) [inline, static]

Factory function resembling logical_file(url, int) constructor.

Reimplemented from saga::name_space::entry.

template<typename Tag>
static saga::task saga::replica::logical_file::create ( saga::url  url,
int  mode = Read 
) [inline, static]

Factory function resembling entry(url, int) constructor.

Reimplemented from saga::name_space::entry.

logical_file & saga::replica::logical_file::operator= ( saga::object const &  o  ) 

Brief description starts here.

Reimplemented from saga::name_space::entry.

References saga::name_space::entry::operator=().

void saga::replica::logical_file::add_location ( saga::url  url  )  [inline]

Add a replica location to the replica set.

Parameters:
url Location to add to set

void saga::replica::logical_file::remove_location ( saga::url  url  )  [inline]

Remove a replica location from the replica set.

Parameters:
url Replica to remove from set

void saga::replica::logical_file::update_location ( saga::url  old_url,
saga::url  new_url 
) [inline]

Change a replica location in the replica set.

Parameters:
old_url Replica to be updated
new_url Update for the replica

std::vector<saga::url> saga::replica::logical_file::list_locations ( void   )  [inline]

List the locations in the location set.

Returns:
Array of locations in set

void saga::replica::logical_file::replicate ( saga::url  url,
int  flags = saga::replica::None 
) [inline]

Brief Replicate a file from any of the known replica locations to a new location, and, on success, add the new replica location to the set of associated replicas.

Parameters:
url Location to replicate to


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

Generated on Mon Aug 24 09:04:27 2009 for SAGA C++ API by  doxygen 1.5.6