XRootD
XrdCksCalczcrc32 Class Reference
+ Inheritance diagram for XrdCksCalczcrc32:
+ Collaboration diagram for XrdCksCalczcrc32:

Public Member Functions

 XrdCksCalczcrc32 ()
 Constructor. More...
 
virtual ~XrdCksCalczcrc32 ()
 Destructor. More...
 
bool Combinable () override
 Combinable trait. More...
 
const char * Combine (const char *Cksum, int DLen) override
 Combine checksum into current checksum. More...
 
const char * Combine (const char *Cksum1, const char *Cksum2, int DLen) override
 Combine two checksums and return result. More...
 
char * Final () override
 Final checksum. More...
 
void Init () override
 Initialize. More...
 
XrdCksCalc * New () override
 Virtual constructor. More...
 
const char * Type (int &csSz) override
 Checksum algorithm name. More...
 
void Update (const char *Buff, int BLen) override
 Update current checksum. More...
 
- Public Member Functions inherited from XrdCksCalc
 XrdCksCalc ()
 Constructor. More...
 
virtual ~XrdCksCalc ()
 Destructor. More...
 
virtual char * Calc (const char *Buff, int BLen)
 
virtual char * Current ()
 
virtual void Recycle ()
 Recycle the checksum object as it is no longer needed. A default is given. More...
 

Detailed Description

Definition at line 47 of file XrdCksCalczcrc32.cc.

Constructor & Destructor Documentation

◆ XrdCksCalczcrc32()

XrdCksCalczcrc32::XrdCksCalczcrc32 ( )
inline

Constructor.

Definition at line 54 of file XrdCksCalczcrc32.cc.

55  {
56  Init();
57  }
void Init() override
Initialize.

References Init().

Referenced by New().

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

◆ ~XrdCksCalczcrc32()

virtual XrdCksCalczcrc32::~XrdCksCalczcrc32 ( )
inlinevirtual

Destructor.

Definition at line 62 of file XrdCksCalczcrc32.cc.

63  {
64  }

Member Function Documentation

◆ Combinable()

bool XrdCksCalczcrc32::Combinable ( )
inlineoverridevirtual

Combinable trait.

Reimplemented from XrdCksCalc.

Definition at line 69 of file XrdCksCalczcrc32.cc.

69 {return true;}

◆ Combine() [1/2]

const char* XrdCksCalczcrc32::Combine ( const char *  Cksum,
int  DLen 
)
inlineoverridevirtual

Combine checksum into current checksum.

Reimplemented from XrdCksCalc.

Definition at line 74 of file XrdCksCalczcrc32.cc.

75  {
76  uint32_t crc2;
77  memcpy(&crc2, Cksum, sizeof(crc2)); // The crc32 as returned by zlib
78  pCheckSum = crc32_combine(pCheckSum, crc2, (z_off_t)DLen);
79  return (char *)&pCheckSum;
80  }

◆ Combine() [2/2]

const char* XrdCksCalczcrc32::Combine ( const char *  Cksum1,
const char *  Cksum2,
int  DLen 
)
inlineoverridevirtual

Combine two checksums and return result.

Reimplemented from XrdCksCalc.

Definition at line 85 of file XrdCksCalczcrc32.cc.

87  {
88  uint32_t crc1, crc2;
89  memcpy(&crc1, Cksum1, sizeof(crc1)); // The crc32 as returned by zlib
90  memcpy(&crc2, Cksum2, sizeof(crc2)); // The crc32 as returned by zlib
91  pCheckSumTmp = crc32_combine(crc1, crc2, (z_off_t)DLen);
92  return (char *)&pCheckSumTmp;
93  }

◆ Final()

char* XrdCksCalczcrc32::Final ( )
inlineoverridevirtual

Final checksum.

Implements XrdCksCalc.

Definition at line 98 of file XrdCksCalczcrc32.cc.

99  {
100  return (char *)&pCheckSum;
101  }

◆ Init()

void XrdCksCalczcrc32::Init ( )
inlineoverridevirtual

Initialize.

Implements XrdCksCalc.

Definition at line 106 of file XrdCksCalczcrc32.cc.

107  {
108  pCheckSum = crc32( 0L, Z_NULL, 0 );
109  }

Referenced by XrdCksCalczcrc32().

+ Here is the caller graph for this function:

◆ New()

XrdCksCalc* XrdCksCalczcrc32::New ( )
inlineoverridevirtual

Virtual constructor.

Implements XrdCksCalc.

Definition at line 114 of file XrdCksCalczcrc32.cc.

115  {
116  return new XrdCksCalczcrc32();
117  }
XrdCksCalczcrc32()
Constructor.

References XrdCksCalczcrc32().

+ Here is the call graph for this function:

◆ Type()

const char* XrdCksCalczcrc32::Type ( int &  csSz)
inlineoverridevirtual

Checksum algorithm name.

Implements XrdCksCalc.

Definition at line 130 of file XrdCksCalczcrc32.cc.

131  {
132  csSz = 4; return "zcrc32";
133  }

◆ Update()

void XrdCksCalczcrc32::Update ( const char *  Buff,
int  BLen 
)
inlineoverridevirtual

Update current checksum.

Implements XrdCksCalc.

Definition at line 122 of file XrdCksCalczcrc32.cc.

123  {
124  pCheckSum = crc32( pCheckSum, (const Bytef*)Buff, BLen );
125  }

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