Back to index

nordugrid-arc-nox  1.1.0~rc6
Public Member Functions | Protected Attributes | Static Protected Attributes
Arc::DataPoint Class Reference

This base class is an abstraction of URL. More...

#include <DataPoint.h>

Inheritance diagram for Arc::DataPoint:
Inheritance graph
[legend]
Collaboration diagram for Arc::DataPoint:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 DataPoint (const URL &url, const UserConfig &usercfg)
 Constructor requires URL to be provided.
virtual ~DataPoint ()
 Destructor.
virtual const URLGetURL () const
 Returns the URL that was passed to the constructor.
virtual const UserConfigGetUserConfig () const
 Returns the UserConfig that was passed to the constructor.
virtual std::string str () const
 Returns a string representation of the DataPoint.
virtual operator bool () const
 Is DataPoint valid?
virtual bool operator! () const
 Is DataPoint valid?
virtual DataStatus StartReading (DataBuffer &buffer)=0
 Start reading data from URL.
virtual DataStatus StartWriting (DataBuffer &buffer, DataCallback *space_cb=NULL)=0
 Start writing data to URL.
virtual DataStatus StopReading ()=0
 Stop reading.
virtual DataStatus StopWriting ()=0
 Stop writing.
virtual DataStatus Check ()=0
 Query the DataPoint to check if object is accessible.
virtual DataStatus Remove ()=0
 Remove/delete object at URL.
virtual DataStatus ListFiles (std::list< FileInfo > &files, bool long_list=false, bool resolve=false, bool metadata=false)=0
 List file(s).
virtual void ReadOutOfOrder (bool v)=0
 Allow/disallow DataPoint to produce scattered data during reading operation.
virtual bool WriteOutOfOrder ()=0
 Returns true if URL can accept scattered data for writing operation.
virtual void SetAdditionalChecks (bool v)=0
 Allow/disallow additional checks.
virtual bool GetAdditionalChecks () const =0
 Check if additional checks before will be performed.
virtual void SetSecure (bool v)=0
 Allow/disallow heavy security during data transfer.
virtual bool GetSecure () const =0
 Check if heavy security during data transfer is allowed.
virtual void Passive (bool v)=0
 Request passive transfers for FTP-like protocols.
virtual DataStatus GetFailureReason (void) const
 Returns reason of transfer failure, as reported by callbacks. This could be different from the failure returned by the methods themselves.
virtual void Range (unsigned long long int start=0, unsigned long long int end=0)=0
 Set range of bytes to retrieve.
virtual DataStatus Resolve (bool source)=0
 Resolves index service URL into list of ordinary URLs.
virtual bool Registered () const =0
 Check if file is registered in Indexing Service.
virtual DataStatus PreRegister (bool replication, bool force=false)=0
 Index service preregistration.
virtual DataStatus PostRegister (bool replication)=0
 Index Service postregistration.
virtual DataStatus PreUnregister (bool replication)=0
 Index Service preunregistration.
virtual DataStatus Unregister (bool all)=0
 Index Service unregistration.
virtual bool CheckSize () const
 Check if meta-information 'size' is available.
virtual void SetSize (const unsigned long long int val)
 Set value of meta-information 'size'.
virtual unsigned long long int GetSize () const
 Get value of meta-information 'size'.
virtual bool CheckCheckSum () const
 Check if meta-information 'checksum' is available.
virtual void SetCheckSum (const std::string &val)
 Set value of meta-information 'checksum'.
virtual const std::string & GetCheckSum () const
 Get value of meta-information 'checksum'.
virtual const std::string DefaultCheckSum () const
 Default checksum type.
virtual bool CheckCreated () const
 Check if meta-information 'creation/modification time' is available.
virtual void SetCreated (const Time &val)
 Set value of meta-information 'creation/modification time'.
virtual const TimeGetCreated () const
 Get value of meta-information 'creation/modification time'.
virtual bool CheckValid () const
 Check if meta-information 'validity time' is available.
virtual void SetValid (const Time &val)
 Set value of meta-information 'validity time'.
virtual const TimeGetValid () const
 Get value of meta-information 'validity time'.
virtual long long int BufSize () const =0
 Get suggested buffer size for transfers.
virtual int BufNum () const =0
 Get suggested number of buffers for transfers.
virtual bool Cache () const
 Returns true if file is cacheable.
virtual bool Local () const =0
 Returns true if file is local, e.g. file:// urls.
virtual bool ReadOnly () const =0
virtual int GetTries () const
 Returns number of retries left.
virtual void SetTries (const int n)
 Set number of retries.
virtual void NextTry (void)
 Decrease number of retries left.
virtual bool IsIndex () const =0
 Check if URL is an Indexing Service.
virtual bool AcceptsMeta ()=0
 If endpoint can have any use from meta information.
virtual bool ProvidesMeta ()=0
 If endpoint can provide at least some meta information directly.
virtual void SetMeta (const DataPoint &p)
 Copy meta information from another object.
virtual bool CompareMeta (const DataPoint &p) const
 Compare meta information from another object.
virtual const URLCurrentLocation () const =0
 Returns current (resolved) URL.
virtual const std::string & CurrentLocationMetadata () const =0
 Returns meta information used to create current URL.
virtual DataStatus CompareLocationMetadata () const =0
 Compare metadata of DataPoint and current location.
virtual bool NextLocation ()=0
 Switch to next location in list of URLs.
virtual bool LocationValid () const =0
 Returns false if out of retries.
virtual bool HaveLocations () const =0
 Returns true if number of resolved URLs is not 0.
virtual DataStatus AddLocation (const URL &url, const std::string &meta)=0
 Add URL to list.
virtual DataStatus RemoveLocation ()=0
 Remove current URL from list.
virtual DataStatus RemoveLocations (const DataPoint &p)=0
 Remove locations present in another DataPoint object.

Protected Attributes

const URLurl
const UserConfigusercfg
unsigned long long int size
std::string checksum
Time created
Time valid
int triesleft
DataStatus failure_code
bool cache
std::list< std::string > valid_url_options
 Subclasses should add their own specific options to this list.

Static Protected Attributes

static Logger logger

Detailed Description

This base class is an abstraction of URL.

Specializations should be provided for different kind of direct access URLs (file://, ftp://, gsiftp://, http://, https://, httpg://, ...) or indexing service URLs (rls://, lfc://, ...). DataPoint provides means to resolve an indexing service URL into multiple URLs and to loop through them.

Definition at line 31 of file DataPoint.h.


Constructor & Destructor Documentation

Arc::DataPoint::DataPoint ( const URL url,
const UserConfig usercfg 
)

Constructor requires URL to be provided.

References to url and usercfg arguments are stored internally and hence corresponding objects must stay available during whole lifetime of this instance.

Definition at line 20 of file DataPoint.cpp.

    : url(url),
      usercfg(usercfg),
      size((unsigned long long int)(-1)),
      created(-1),
      valid(-1),
      triesleft(1),
      failure_code(DataStatus::UnknownError),
      cache(url.Option("cache") != "no") {
    // add standard options applicable to all protocols
    valid_url_options.clear();
    valid_url_options.push_back("cache");
    valid_url_options.push_back("readonly");
    valid_url_options.push_back("blocksize");
    valid_url_options.push_back("checksum");
    valid_url_options.push_back("exec");
    valid_url_options.push_back("preserve");
    valid_url_options.push_back("overwrite");
    valid_url_options.push_back("threads");
    valid_url_options.push_back("secure");
    valid_url_options.push_back("autodir");
  }

Destructor.

Definition at line 43 of file DataPoint.cpp.

{}

Member Function Documentation

virtual bool Arc::DataPoint::AcceptsMeta ( ) [pure virtual]

If endpoint can have any use from meta information.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::AddLocation ( const URL url,
const std::string &  meta 
) [pure virtual]

Add URL to list.

Parameters:
urlLocation URL to add.
metaLocation meta information.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual int Arc::DataPoint::BufNum ( ) const [pure virtual]

Get suggested number of buffers for transfers.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

virtual long long int Arc::DataPoint::BufSize ( ) const [pure virtual]

Get suggested buffer size for transfers.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

bool Arc::DataPoint::Cache ( ) const [virtual]

Returns true if file is cacheable.

Definition at line 86 of file DataPoint.cpp.

                              {
    return cache;
  }

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::Check ( ) [pure virtual]

Query the DataPoint to check if object is accessible.

If possible this method will also try to provide meta information about the object.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointARC, Arc::DataPointLDAP, Arc::DataPointSRM, Arc::DataPointFile, and Arc::DataPointHTTP.

Here is the caller graph for this function:

bool Arc::DataPoint::CheckCheckSum ( ) const [virtual]

Check if meta-information 'checksum' is available.

Definition at line 102 of file DataPoint.cpp.

                                      {
    return (!checksum.empty());
  }

Here is the caller graph for this function:

bool Arc::DataPoint::CheckCreated ( ) const [virtual]

Check if meta-information 'creation/modification time' is available.

Definition at line 118 of file DataPoint.cpp.

                                     {
    return (created != -1);
  }

Here is the caller graph for this function:

bool Arc::DataPoint::CheckSize ( ) const [virtual]

Check if meta-information 'size' is available.

Definition at line 90 of file DataPoint.cpp.

                                  {
    return (size != (unsigned long long int)(-1));
  }

Here is the caller graph for this function:

bool Arc::DataPoint::CheckValid ( ) const [virtual]

Check if meta-information 'validity time' is available.

Definition at line 130 of file DataPoint.cpp.

                                   {
    return (valid != -1);
  }

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::CompareLocationMetadata ( ) const [pure virtual]

Compare metadata of DataPoint and current location.

Returns inconsistency error or error encountered during operation, or success

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

bool Arc::DataPoint::CompareMeta ( const DataPoint p) const [virtual]

Compare meta information from another object.

Undefined values are not used for comparison.

Parameters:
pobject to which to compare.

Definition at line 165 of file DataPoint.cpp.

                                                      {
    if (CheckSize() && p.CheckSize())
      if (GetSize() != p.GetSize())
        return false;
    if (CheckCheckSum() && p.CheckCheckSum())
      // TODO: compare checksums properly
      if (strcasecmp(GetCheckSum().c_str(), p.GetCheckSum().c_str()))
        return false;
    if (CheckValid() && p.CheckValid())
      if (GetValid() != p.GetValid())
        return false;
    return true;
  }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual const URL& Arc::DataPoint::CurrentLocation ( ) const [pure virtual]

Returns current (resolved) URL.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual const std::string& Arc::DataPoint::CurrentLocationMetadata ( ) const [pure virtual]

Returns meta information used to create current URL.

Usage differs between different indexing services.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

const std::string Arc::DataPoint::DefaultCheckSum ( ) const [virtual]

Default checksum type.

Reimplemented in Arc::DataPointSRM, and Arc::DataPointLFC.

Definition at line 114 of file DataPoint.cpp.

                                                   {
    return std::string("cksum");
  }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool Arc::DataPoint::GetAdditionalChecks ( ) const [pure virtual]

Check if additional checks before will be performed.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

const std::string & Arc::DataPoint::GetCheckSum ( ) const [virtual]

Get value of meta-information 'checksum'.

Definition at line 110 of file DataPoint.cpp.

                                                {
    return checksum;
  }

Here is the caller graph for this function:

const Time & Arc::DataPoint::GetCreated ( ) const [virtual]

Get value of meta-information 'creation/modification time'.

Definition at line 126 of file DataPoint.cpp.

                                          {
    return created;
  }

Here is the caller graph for this function:

DataStatus Arc::DataPoint::GetFailureReason ( void  ) const [virtual]

Returns reason of transfer failure, as reported by callbacks. This could be different from the failure returned by the methods themselves.

Definition at line 82 of file DataPoint.cpp.

                                               {
    return failure_code;
  }

Here is the caller graph for this function:

virtual bool Arc::DataPoint::GetSecure ( ) const [pure virtual]

Check if heavy security during data transfer is allowed.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

unsigned long long int Arc::DataPoint::GetSize ( ) const [virtual]

Get value of meta-information 'size'.

Definition at line 98 of file DataPoint.cpp.

                                                  {
    return size;
  }

Here is the caller graph for this function:

int Arc::DataPoint::GetTries ( ) const [virtual]

Returns number of retries left.

Definition at line 142 of file DataPoint.cpp.

                                {
    return triesleft;
  }

Here is the caller graph for this function:

const URL & Arc::DataPoint::GetURL ( ) const [virtual]

Returns the URL that was passed to the constructor.

Definition at line 45 of file DataPoint.cpp.

                                     {
    return url;
  }

Here is the caller graph for this function:

const UserConfig & Arc::DataPoint::GetUserConfig ( ) const [virtual]

Returns the UserConfig that was passed to the constructor.

Definition at line 49 of file DataPoint.cpp.

                                                   {
    return usercfg;
  }

Here is the caller graph for this function:

const Time & Arc::DataPoint::GetValid ( ) const [virtual]

Get value of meta-information 'validity time'.

Definition at line 138 of file DataPoint.cpp.

                                        {
    return valid;
  }

Here is the caller graph for this function:

virtual bool Arc::DataPoint::HaveLocations ( ) const [pure virtual]

Returns true if number of resolved URLs is not 0.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::IsIndex ( ) const [pure virtual]

Check if URL is an Indexing Service.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::ListFiles ( std::list< FileInfo > &  files,
bool  long_list = false,
bool  resolve = false,
bool  metadata = false 
) [pure virtual]

List file(s).

If the DataPoint represents a directory its contents will be listed.

Parameters:
fileswill contain list of file names and optionally their attributes.
long)listif true, list additional properties of each file.
resolveif true, resolve physical locations (relevant for indexing services only).

Implemented in Arc::DataPointGridFTP, Arc::DataPointARC, Arc::DataPointRLS, Arc::DataPointSRM, Arc::DataPointLDAP, Arc::DataPointFile, Arc::DataPointLFC, and Arc::DataPointHTTP.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::Local ( ) const [pure virtual]

Returns true if file is local, e.g. file:// urls.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::LocationValid ( ) const [pure virtual]

Returns false if out of retries.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::NextLocation ( ) [pure virtual]

Switch to next location in list of URLs.

At last location switch to first if number of allowed retries is not exceeded. Returns false if no retries left.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

void Arc::DataPoint::NextTry ( void  ) [virtual]

Decrease number of retries left.

Definition at line 150 of file DataPoint.cpp.

                          {
    if(triesleft) --triesleft;
  }

Here is the caller graph for this function:

Arc::DataPoint::operator bool ( void  ) const [virtual]

Is DataPoint valid?

Definition at line 57 of file DataPoint.cpp.

                                 {

    if (!url)
      return false;
      
    // URL option validation. Subclasses which do not want to validate
    // URL options should override this method.
    std::map<std::string, std::string> options = url.Options();
    for (std::map<std::string, std::string>::iterator i = options.begin(); i != options.end(); i++) {
      bool valid = false; 
      for (std::list<std::string>::const_iterator j = valid_url_options.begin(); j != valid_url_options.end(); j++) {
        if (i->first == *j) valid = true;
      }
      if (!valid) {
        logger.msg(ERROR, "Invalid URL option: %s", i->first);
        return false;
      }
    }
    return true;
  }

Here is the call graph for this function:

bool Arc::DataPoint::operator! ( void  ) const [virtual]

Is DataPoint valid?

Definition at line 78 of file DataPoint.cpp.

                                  {
    return !((bool)*this);
  }
virtual void Arc::DataPoint::Passive ( bool  v) [pure virtual]

Request passive transfers for FTP-like protocols.

Parameters:
trueto request.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::PostRegister ( bool  replication) [pure virtual]

Index Service postregistration.

Used for same purpose as PreRegister. Should be called after actual transfer of file successfully finished.

Parameters:
replicationif true, the file is being replicated between two locations registered in Indexing Service under same name.

Implemented in Arc::DataPointDirect, Arc::DataPointRLS, and Arc::DataPointLFC.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::PreRegister ( bool  replication,
bool  force = false 
) [pure virtual]

Index service preregistration.

This function registers the physical location of a file into an indexing service. It should be called before the actual transfer to that location happens.

Parameters:
replicationif true, the file is being replicated between two locations registered in the indexing service under same name.
forceif true, perform registration of a new file even if it already exists. Should be used to fix failures in Indexing Service.

Implemented in Arc::DataPointDirect, Arc::DataPointRLS, and Arc::DataPointLFC.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::PreUnregister ( bool  replication) [pure virtual]

Index Service preunregistration.

Should be called if file transfer failed. It removes changes made by PreRegister.

Parameters:
replicationif true, the file is being replicated between two locations registered in Indexing Service under same name.

Implemented in Arc::DataPointDirect, Arc::DataPointRLS, and Arc::DataPointLFC.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::ProvidesMeta ( ) [pure virtual]

If endpoint can provide at least some meta information directly.

Implemented in Arc::DataPointGridFTP, Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual void Arc::DataPoint::Range ( unsigned long long int  start = 0,
unsigned long long int  end = 0 
) [pure virtual]

Set range of bytes to retrieve.

Default values correspond to whole file.

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

virtual bool Arc::DataPoint::ReadOnly ( ) const [pure virtual]

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

virtual void Arc::DataPoint::ReadOutOfOrder ( bool  v) [pure virtual]

Allow/disallow DataPoint to produce scattered data during reading operation.

Parameters:
vtrue if allowed (default is false).

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::Registered ( ) const [pure virtual]

Check if file is registered in Indexing Service.

Proper value is obtainable only after Resolve.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::Remove ( ) [pure virtual]

Remove/delete object at URL.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointARC, Arc::DataPointLDAP, Arc::DataPointSRM, Arc::DataPointFile, and Arc::DataPointHTTP.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::RemoveLocation ( ) [pure virtual]

Remove current URL from list.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::RemoveLocations ( const DataPoint p) [pure virtual]

Remove locations present in another DataPoint object.

Implemented in Arc::DataPointDirect, and Arc::DataPointIndex.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::Resolve ( bool  source) [pure virtual]

Resolves index service URL into list of ordinary URLs.

Also obtains meta information about the file.

Parameters:
sourcetrue if DataPoint object represents source of information.

Implemented in Arc::DataPointDirect, Arc::DataPointRLS, and Arc::DataPointLFC.

Here is the caller graph for this function:

virtual void Arc::DataPoint::SetAdditionalChecks ( bool  v) [pure virtual]

Allow/disallow additional checks.

Check for existance of remote file (and probably other checks too) before initiating reading and writing operations.

Parameters:
vtrue if allowed (default is true).

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

void Arc::DataPoint::SetCheckSum ( const std::string &  val) [virtual]

Set value of meta-information 'checksum'.

Definition at line 106 of file DataPoint.cpp.

                                                  {
    checksum = val;
  }

Here is the caller graph for this function:

void Arc::DataPoint::SetCreated ( const Time val) [virtual]

Set value of meta-information 'creation/modification time'.

Definition at line 122 of file DataPoint.cpp.

                                            {
    created = val;
  }

Here is the caller graph for this function:

void Arc::DataPoint::SetMeta ( const DataPoint p) [virtual]

Copy meta information from another object.

Already defined values are not overwritten.

Parameters:
pobject from which information is taken.

Definition at line 154 of file DataPoint.cpp.

                                            {
    if (!CheckSize())
      SetSize(p.GetSize());
    if (!CheckCheckSum())
      SetCheckSum(p.GetCheckSum());
    if (!CheckCreated())
      SetCreated(p.GetCreated());
    if (!CheckValid())
      SetValid(p.GetValid());
  }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void Arc::DataPoint::SetSecure ( bool  v) [pure virtual]

Allow/disallow heavy security during data transfer.

Parameters:
vtrue if allowed (default depends on protocol).

Implemented in Arc::DataPointIndex, and Arc::DataPointDirect.

Here is the caller graph for this function:

void Arc::DataPoint::SetSize ( const unsigned long long int  val) [virtual]

Set value of meta-information 'size'.

Definition at line 94 of file DataPoint.cpp.

                                                          {
    size = val;
  }

Here is the caller graph for this function:

void Arc::DataPoint::SetTries ( const int  n) [virtual]

Set number of retries.

Reimplemented in Arc::DataPointIndex.

Definition at line 146 of file DataPoint.cpp.

                                      {
    triesleft = std::max(0, n);
  }

Here is the caller graph for this function:

void Arc::DataPoint::SetValid ( const Time val) [virtual]

Set value of meta-information 'validity time'.

Definition at line 134 of file DataPoint.cpp.

                                          {
    valid = val;
  }

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::StartReading ( DataBuffer buffer) [pure virtual]

Start reading data from URL.

Separate thread to transfer data will be created. No other operation can be performed while reading is in progress.

Parameters:
bufferoperation will use this buffer to put information into. Should not be destroyed before stop_reading was called and returned.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointARC, Arc::DataPointHTTP, Arc::DataPointLDAP, Arc::DataPointSRM, and Arc::DataPointFile.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::StartWriting ( DataBuffer buffer,
DataCallback space_cb = NULL 
) [pure virtual]

Start writing data to URL.

Separate thread to transfer data will be created. No other operation can be performed while writing is in progress.

Parameters:
bufferoperation will use this buffer to get information from. Should not be destroyed before stop_writing was called and returned.
space_cbcallback which is called if there is not enough space to store data. May not implemented for all protocols.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointARC, Arc::DataPointHTTP, Arc::DataPointLDAP, Arc::DataPointSRM, and Arc::DataPointFile.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::StopReading ( ) [pure virtual]

Stop reading.

Must be called after corresponding start_reading method, either after all data is transferred or to cancel transfer. Use buffer object to find out when data is transferred. Must return failure if any happened during transfer.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointARC, Arc::DataPointHTTP, Arc::DataPointLDAP, Arc::DataPointSRM, and Arc::DataPointFile.

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::StopWriting ( ) [pure virtual]

Stop writing.

Must be called after corresponding start_writing method, either after all data is transferred or to cancel transfer. Use buffer object to find out when data is transferred. Must return failure if any happened during transfer.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointARC, Arc::DataPointHTTP, Arc::DataPointLDAP, Arc::DataPointSRM, and Arc::DataPointFile.

Here is the caller graph for this function:

std::string Arc::DataPoint::str ( ) const [virtual]

Returns a string representation of the DataPoint.

Definition at line 53 of file DataPoint.cpp.

                                 {
    return url.str();
  }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual DataStatus Arc::DataPoint::Unregister ( bool  all) [pure virtual]

Index Service unregistration.

Remove information about file registered in Indexing Service.

Parameters:
allif true, information about file itself is (LFN) is removed. Otherwise only particular physical instance is unregistered.

Implemented in Arc::DataPointDirect, Arc::DataPointRLS, and Arc::DataPointLFC.

Here is the caller graph for this function:

virtual bool Arc::DataPoint::WriteOutOfOrder ( ) [pure virtual]

Returns true if URL can accept scattered data for writing operation.

Implemented in Arc::DataPointGridFTP, Arc::DataPointIndex, Arc::DataPointDirect, and Arc::DataPointFile.

Here is the caller graph for this function:


Member Data Documentation

bool Arc::DataPoint::cache [protected]

Definition at line 325 of file DataPoint.h.

std::string Arc::DataPoint::checksum [protected]

Definition at line 320 of file DataPoint.h.

Definition at line 321 of file DataPoint.h.

Definition at line 324 of file DataPoint.h.

Logger Arc::DataPoint::logger [static, protected]
unsigned long long int Arc::DataPoint::size [protected]

Definition at line 319 of file DataPoint.h.

int Arc::DataPoint::triesleft [protected]

Definition at line 323 of file DataPoint.h.

const URL& Arc::DataPoint::url [protected]

Definition at line 315 of file DataPoint.h.

const UserConfig& Arc::DataPoint::usercfg [protected]

Definition at line 316 of file DataPoint.h.

Definition at line 322 of file DataPoint.h.

std::list<std::string> Arc::DataPoint::valid_url_options [protected]

Subclasses should add their own specific options to this list.

Definition at line 327 of file DataPoint.h.


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