Loading...
Searching...
No Matches
XrdOssCsiRangeGuard Class Reference

`#include <XrdOssCsiRanges.hh>`

Collaboration diagram for XrdOssCsiRangeGuard:

## Public Member Functions

| XrdOssCsiRangeGuard ()
| ~XrdOssCsiRangeGuard ()
const std::pair< off_t, off_t > & | getTrackinglens () const
void | ReleaseAll ()
void | SetRange (XrdOssCsiRanges *r, XrdOssCsiRange_s *rp)
void | SetTrackingInfo (XrdOssCsiPages *p, const std::pair< off_t, off_t > &tsizes, bool locked)
void | unlockTrackinglen ()
void | Wait ()

## Detailed Description

Definition at line 57 of file XrdOssCsiRanges.hh.

## Constructor & Destructor Documentation

## XrdOssCsiRangeGuard()

XrdOssCsiRangeGuard::XrdOssCsiRangeGuard | ( |  | ) |

inline

Definition at line 60 of file XrdOssCsiRanges.hh.

: r_(NULL), rp_(NULL), pages_(NULL), trackinglenlocked_(false) { }

## ~XrdOssCsiRangeGuard()

XrdOssCsiRangeGuard::~XrdOssCsiRangeGuard | ( |  | ) |

Definition at line 68 of file XrdOssCsiRanges.cc.

{
ReleaseAll();
}
XrdOssCsiRangeGuard::ReleaseAll
void ReleaseAll()
Definition XrdOssCsiRanges.cc:37

References ReleaseAll().

Here is the call graph for this function:

## Member Function Documentation

## getTrackinglens()

const std::pair< off_t, off_t > & XrdOssCsiRangeGuard::getTrackinglens | ( |  | ) | const

inline

Definition at line 71 of file XrdOssCsiRanges.hh.

{
return trackingsizes_;
}

Referenced by XrdOssCsiPages::FetchRange(), XrdOssCsiPages::StoreRange(), XrdOssCsiPages::truncate(), XrdOssCsiPages::UpdateRange(), and XrdOssCsiPages::VerifyRange().

Here is the caller graph for this function:

## ReleaseAll()

void XrdOssCsiRangeGuard::ReleaseAll | ( |  | ) |

Definition at line 37 of file XrdOssCsiRanges.cc.

{
if (trackinglenlocked_)
{
unlockTrackinglen();
}
if (r_)
{
r_->RemoveRange(rp_);
r_ = NULL;
rp_ = NULL;
}
}
XrdOssCsiRangeGuard::unlockTrackinglen
void unlockTrackinglen()
Definition XrdOssCsiRanges.cc:58

References unlockTrackinglen().

Referenced by ~XrdOssCsiRangeGuard(), XrdOssCsiFile::Ftruncate(), XrdOssCsiFile::pgWrite(), XrdOssCsiFile::Write(), and XrdOssCsiFile::WriteV().

Here is the call graph for this function:
Here is the caller graph for this function:

## SetRange()

void XrdOssCsiRangeGuard::SetRange | ( | XrdOssCsiRanges * | r,
|  | XrdOssCsiRange_s * | rp )

inline

Definition at line 63 of file XrdOssCsiRanges.hh.

{
r_ = r;
rp_ = rp;
pages_ = NULL;
trackinglenlocked_ = false;
}

Referenced by XrdOssCsiRanges::AddRange().

Here is the caller graph for this function:

## SetTrackingInfo()

void XrdOssCsiRangeGuard::SetTrackingInfo | ( | XrdOssCsiPages * | p,
|  | const std::pair< off_t, off_t > & | tsizes,
|  | bool | locked )

inline

Definition at line 76 of file XrdOssCsiRanges.hh.

{
trackingsizes_ = tsizes;
if (locked)
{
trackinglenlocked_ = true;
pages_ = p;
}
}

Referenced by XrdOssCsiPages::LockTrackinglen().

Here is the caller graph for this function:

## unlockTrackinglen()

void XrdOssCsiRangeGuard::unlockTrackinglen | ( |  | ) |

Definition at line 58 of file XrdOssCsiRanges.cc.

{
assert(pages_ != NULL);
assert(trackinglenlocked_ == true);
pages_->TrackedSizeRelease();
trackinglenlocked_ = false;
pages_ = NULL;
}

Referenced by ReleaseAll(), XrdOssCsiPages::StoreRange(), XrdOssCsiPages::truncate(), and XrdOssCsiPages::UpdateRange().

Here is the caller graph for this function:

## Wait()

void XrdOssCsiRangeGuard::Wait | ( |  | ) |

Definition at line 52 of file XrdOssCsiRanges.cc.

{
assert(r_ != NULL);
r_->Wait(rp_);
}

Referenced by XrdOssCsiPages::LockTrackinglen().

Here is the caller graph for this function:

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

- XrdOssCsiRanges.hh
- XrdOssCsiRanges.cc