#include <XrdCksCalc.hh>
Public Member Functions | |
| XrdCksCalc () | |
| Constructor. | |
| virtual | ~XrdCksCalc () |
| Destructor. | |
| virtual char * | Calc (const char *Buff, int BLen) |
| virtual bool | Combinable () |
| virtual const char * | Combine (const char *Cksum, int DLen) |
| virtual const char * | Combine (const char *Cksum1, const char *Cksum2, int DLen) |
| virtual char * | Current () |
| virtual char * | Final ()=0 |
| virtual void | Init ()=0 |
| virtual XrdCksCalc * | New ()=0 |
| virtual void | Recycle () |
| Recycle the checksum object as it is no longer needed. A default is given. | |
| virtual const char * | Type (int &csSize)=0 |
| virtual void | Update (const char *Buff, int BLen)=0 |
This class defines the interface to a checksum computation. When this class is used to define a plugin computation, the initial XrdCksCalc computation object is created by the XrdCksCalcInit() function defined at the end of this file.
Definition at line 39 of file XrdCksCalc.hh.
|
inline |
Constructor.
Definition at line 173 of file XrdCksCalc.hh.
Referenced by New(), XrdCksCalcadler32::New(), XrdCksCalccrc32::New(), XrdCksCalccrc32C::New(), XrdCksCalcmd5::New(), and XrdCksCalczcrc32::New().
|
inlinevirtual |
|
inlinevirtual |
Calculate a one-time checksum. The obvious default implementation is provided and assumes that Init() may be called more than once.
| Buff | -> Data to be checksummed. |
| BLen | -> Length of the data in Buff. |
Definition at line 54 of file XrdCksCalc.hh.
References Final(), Init(), and Update().
|
inlinevirtual |
Indicate whether or not checksums are combinable for this checksum.
Definition at line 67 of file XrdCksCalc.hh.
|
inlinevirtual |
Combine current checksum with a checksum computed for an adjacent block.
| Cksum | -> Pointer to the binary checksum of the same algorithm. |
| DLen | -> Length of the data used to compute the checksum. |
Definition at line 85 of file XrdCksCalc.hh.
|
inlinevirtual |
Combine a checksum with a checksum computed for an adjacent block.
| Cksum1 | -> Pointer to a binary checksum. |
| Cksum2 | -> Pointer to a binary checksum of the same type. |
| DLen | -> Length of the data used to compute the checksum. |
Definition at line 104 of file XrdCksCalc.hh.
|
inlinevirtual |
Get the current binary checksum value (defaults to final). However, the final checksum result is not affected.
Reimplemented in XrdCksCalcmd5.
Definition at line 115 of file XrdCksCalc.hh.
References Final().
|
pure virtual |
Get the actual checksum in binary format.
Implemented in XrdCksCalcadler32, XrdCksCalccrc32, XrdCksCalccrc32C, XrdCksCalcmd5, and XrdCksCalczcrc32.
Referenced by Calc(), XrdCksManager::Calc(), XrdCl::CheckSumManager::Calculate(), and Current().
|
pure virtual |
Initializes data structures (must be called by constructor). This is always called to reuse the object for a new checksum.
Implemented in XrdCksCalcadler32, XrdCksCalccrc32, XrdCksCalccrc32C, XrdCksCalcmd5, and XrdCksCalczcrc32.
Referenced by Calc().
|
pure virtual |
Get a new instance of the underlying checksum calculation object.
Implemented in XrdCksCalcadler32, XrdCksCalccrc32, XrdCksCalccrc32C, XrdCksCalcmd5, and XrdCksCalczcrc32.
References XrdCksCalc().
Referenced by XrdCksManager::Calc(), XrdCl::CheckSumManager::GetCalculator(), XrdCksLoader::Load(), and XrdCksManager::Object().
|
inlinevirtual |
Recycle the checksum object as it is no longer needed. A default is given.
Definition at line 145 of file XrdCksCalc.hh.
Referenced by XrdCksManager::Calc().
|
pure virtual |
Get the checksum object algorithm name and the number bytes (i.e. size) required for the checksum value.
| csSize | -> Parameter to hold the size of the checksum value. |
Implemented in XrdCksCalcadler32, XrdCksCalccrc32, XrdCksCalccrc32C, XrdCksCalcmd5, and XrdCksCalczcrc32.
Referenced by XrdCl::CheckSumManager::Calculate().
|
pure virtual |
Compute a running checksum. This method may be called repeatedly for data segments; with Final() returning the full checksum.
| Buff | -> Data to be checksummed. |
| BLen | -> Length of the data in Buff. |
Implemented in XrdCksCalcadler32, XrdCksCalccrc32, XrdCksCalccrc32C, XrdCksCalcmd5, and XrdCksCalczcrc32.
Referenced by Calc(), XrdCksManager::Calc(), XrdCksManOss::Calc(), and XrdCl::CheckSumManager::Calculate().