Loading...
Searching...
No Matches
XrdOfsChkPnt.hh
Go to the documentation of this file.
#ifndef __XRDOFSCHKPNT_HH__
#define __XRDOFSCHKPNT_HH__
/******************************************************************************/
/* */
/* X r d O f s C h k P n t . h h */
/* */
/* (c) 2020 by the Board of Trustees of the Leland Stanford, Jr., University */
/* All Rights Reserved */
/* Produced by Andrew Hanushevsky for Stanford University under contract */
/* DE-AC02-76-SFO0515 with the Department of Energy */
/* */
/* This file is part of the XRootD software suite. */
/* */
/* XRootD is free software: you can redistribute it and/or modify it under */
/* the terms of the GNU Lesser General Public License as published by the */
/* Free Software Foundation, either version 3 of the License, or (at your */
/* option) any later version. */
/* */
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public License */
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
/* */
/* The copyright holder's institutional names and contributor's names may not */
/* be used to endorse or promote products derived from this software without */
/* specific prior written permission of the institution or contributor. */
/******************************************************************************/
#include "XrdOfs/XrdOfsCPFile.hh"
#include "XrdOuc/XrdOucChkPnt.hh"
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
struct iov;
class XrdOssDF;
class XrdOfsChkPnt : public XrdOucChkPnt
{
public:
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Create();
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Delete();
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void Finished() {delete this;}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Query(struct iov &range);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Restore(bool *readok=0);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Truncate(struct iov *&range);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
int Write(struct iov *&range, int rnum);
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
XrdOfsChkPnt(XrdOssDF &ossfl, const char *lfn, const char *ckpfn=0)
: lFN(lfn), cpFile(ckpfn), ossFile(ossfl), fSize(0),
cpUsed(0) {}
virtual ~XrdOfsChkPnt() {}
private:
int Failed(const char *opn, int rc, bool *readok);
const char *lFN;
XrdOfsCPFile cpFile;
XrdOssDF &ossFile;
int64_t fSize;
int cpUsed;
};
#endif
XrdOfsCPFile.hh
XrdOucChkPnt.hh
XrdOfsCPFile
Definition XrdOfsCPFile.hh:40
XrdOfsChkPnt::Create
int Create()
Definition XrdOfsChkPnt.cc:81
XrdOfsChkPnt::Delete
int Delete()
Definition XrdOfsChkPnt.cc:110
XrdOfsChkPnt::Truncate
int Truncate(struct iov *&range)
Definition XrdOfsChkPnt.cc:257
XrdOfsChkPnt::XrdOfsChkPnt
XrdOfsChkPnt(XrdOssDF &ossfl, const char *lfn, const char *ckpfn=0)
Definition XrdOfsChkPnt.hh:122
XrdOfsChkPnt::Query
int Query(struct iov &range)
Definition XrdOfsChkPnt.cc:169
XrdOfsChkPnt::Write
int Write(struct iov *&range, int rnum)
Definition XrdOfsChkPnt.cc:307
XrdOfsChkPnt::Finished
void Finished()
Definition XrdOfsChkPnt.hh:68
XrdOfsChkPnt::~XrdOfsChkPnt
virtual ~XrdOfsChkPnt()
Definition XrdOfsChkPnt.hh:126
XrdOfsChkPnt::Restore
int Restore(bool *readok=0)
Definition XrdOfsChkPnt.cc:180
XrdOssDF
Definition XrdOss.hh:63
XrdOucChkPnt::XrdOucChkPnt
XrdOucChkPnt()
Constructor and destructor.
Definition XrdOucChkPnt.hh:115
iov
Definition XrdOucIOVec.hh:65