XRootD
Loading...
Searching...
No Matches
XrdCksCalczcrc32 Class Reference
Inheritance diagram for XrdCksCalczcrc32:
Collaboration diagram for XrdCksCalczcrc32:

Public Member Functions

 XrdCksCalczcrc32 ()
 Constructor.
virtual ~XrdCksCalczcrc32 ()
 Destructor.
bool Combinable () override
 Combinable trait.
const char * Combine (const char *Cksum, int DLen) override
 Combine checksum into current checksum.
const char * Combine (const char *Cksum1, const char *Cksum2, int DLen) override
 Combine two checksums and return result.
char * Final () override
 Final checksum.
void Init () override
 Initialize.
XrdCksCalc * New () override
 Virtual constructor.
const char * Type (int &csSz) override
 Checksum algorithm name.
void Update (const char *Buff, int BLen) override
 Update current checksum.
Public Member Functions inherited from XrdCksCalc
 XrdCksCalc ()
 Constructor.
virtual ~XrdCksCalc ()
 Destructor.
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.

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(), and XrdCksCalcInit().

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 XrdCksCalc::XrdCksCalc(), and 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: