XrdCksCalc Class Reference

#include <XrdCksCalc.hh>

Inheritance diagram for XrdCksCalc:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual char * Calc (const char *Buff, int BLen)
virtual char * Current ()
virtual char * Final ()=0
virtual void Init ()=0
virtual XrdCksCalcNew ()=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
 XrdCksCalc ()
 Constructor.
virtual ~XrdCksCalc ()
 Destructor.

Detailed Description

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.


Constructor & Destructor Documentation

XrdCksCalc::XrdCksCalc (  )  [inline]

Constructor.

virtual XrdCksCalc::~XrdCksCalc (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual char* XrdCksCalc::Calc ( const char *  Buff,
int  BLen 
) [inline, virtual]

Calculate a one-time checksum. The obvious default implementation is provided and assumes that Init() may be called more than once.

Parameters:
Buff -> Data to be checksummed.
BLen -> Length of the data in Buff.
Returns:
the checksum value in binary format. The pointer to the value becomes invalid once the associated object is deleted.

References Final(), Init(), and Update().

virtual char* XrdCksCalc::Current (  )  [inline, virtual]

Get the current binary checksum value (defaults to final). However, the final checksum result is not affected.

Returns:
the checksum value in binary format. The pointer to the value becomes invalid once the associated object is deleted.

Reimplemented in XrdCksCalcmd5.

References Final().

virtual char* XrdCksCalc::Final (  )  [pure virtual]

Get the actual checksum in binary format.

Returns:
the checksum value in binary format. The pointer to the value becomes invalid once the associated object is deleted.

Implemented in XrdCksCalcadler32, XrdCksCalccrc32, and XrdCksCalcmd5.

Referenced by Calc(), and Current().

virtual void XrdCksCalc::Init (  )  [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, and XrdCksCalcmd5.

Referenced by Calc().

virtual XrdCksCalc* XrdCksCalc::New (  )  [pure virtual]

Get a new instance of the underlying checksum calculation object.

Returns:
the checksum calculation object.

Implemented in XrdCksCalcadler32, XrdCksCalccrc32, and XrdCksCalcmd5.

virtual void XrdCksCalc::Recycle (  )  [inline, virtual]

Recycle the checksum object as it is no longer needed. A default is given.

virtual const char* XrdCksCalc::Type ( int &  csSize  )  [pure virtual]

Get the checksum object algorithm name and the number bytes (i.e. size) required for the checksum value.

Parameters:
csSize -> Parameter to hold the size of the checksum value.
Returns:
the checksum algorithm's name. The name persists event after the checksum object is deleted.

Implemented in XrdCksCalcadler32, XrdCksCalccrc32, and XrdCksCalcmd5.

virtual void XrdCksCalc::Update ( const char *  Buff,
int  BLen 
) [pure virtual]

Compute a running checksum. This method may be called repeatedly for data segments; with Final() returning the full checksum.

Parameters:
Buff -> Data to be checksummed.
BLen -> Length of the data in Buff.

Implemented in XrdCksCalcadler32, XrdCksCalccrc32, and XrdCksCalcmd5.

Referenced by Calc().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 5 Apr 2019 for xrootd by  doxygen 1.6.1