CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
StorageMaker Class Referenceabstract

#include <StorageMaker.h>

Inheritance diagram for StorageMaker:
DCacheStorageMaker GsiFTPStorageMaker HttpStorageMaker LocalStorageMaker LStoreStorageMaker RFIOStorageMaker StormLcgGtStorageMaker StormStorageMaker XrdStorageMaker

Public Member Functions

virtual bool check (const std::string &proto, const std::string &path, IOOffset *size=0)
 
virtual Storageopen (const std::string &proto, const std::string &path, int mode)=0
 
virtual void setTimeout (unsigned int timeout)
 
virtual void stagein (const std::string &proto, const std::string &path)
 
 StorageMaker (void)
 
virtual ~StorageMaker (void)
 

Detailed Description

Definition at line 8 of file StorageMaker.h.

Constructor & Destructor Documentation

StorageMaker::StorageMaker ( void  )

Definition at line 6 of file StorageMaker.cc.

7 {}
StorageMaker::~StorageMaker ( void  )
virtual

Definition at line 9 of file StorageMaker.cc.

10 {}

Member Function Documentation

bool StorageMaker::check ( const std::string &  proto,
const std::string &  path,
IOOffset size = 0 
)
virtual

Reimplemented in RFIOStorageMaker, StormLcgGtStorageMaker, StormStorageMaker, DCacheStorageMaker, LStoreStorageMaker, LocalStorageMaker, and XrdStorageMaker.

Definition at line 22 of file StorageMaker.cc.

References newFWLiteAna::found, mode, open(), IOFlags::OpenRead, IOFlags::OpenUnbuffered, and asciidump::s.

25 {
26  // Fallback method is to open the file and check its
27  // size. Because grid jobs run in a directory where
28  // there is usually more space than in /tmp, and that
29  // directory is automatically cleaned up, open up the
30  // temporary files in the current directory. If the
31  // file is downloaded, it will delete itself in the
32  // destructor or close method.
33  bool found = false;
35  if (Storage *s = open (proto, path, mode))
36  {
37  if (size)
38  *size = s->size ();
39 
40  s->close ();
41  delete s;
42 
43  found = true;
44  }
45 
46  return found;
47 }
Definition: Storage.h:8
virtual Storage * open(const std::string &proto, const std::string &path, int mode)=0
int path() const
Definition: HLTadd.h:3
int mode
Definition: AMPTWrapper.h:139
string s
Definition: asciidump.py:422
tuple size
Write out results.
virtual Storage* StorageMaker::open ( const std::string &  proto,
const std::string &  path,
int  mode 
)
pure virtual
void StorageMaker::setTimeout ( unsigned int  timeout)
virtual

Reimplemented in DCacheStorageMaker.

Definition at line 18 of file StorageMaker.cc.

19 {}
void StorageMaker::stagein ( const std::string &  proto,
const std::string &  path 
)
virtual

Reimplemented in RFIOStorageMaker, DCacheStorageMaker, and XrdStorageMaker.

Definition at line 13 of file StorageMaker.cc.

15 {}