8 #ifndef SRC_XRDCL_XRDCLCHECKSUMHELPER_HH_
9 #define SRC_XRDCL_XRDCLCHECKSUMHELPER_HH_
32 const std::string &ckSumType ):
77 void Update(
const void *buffer, uint32_t size )
87 std::string &checkSumType )
89 using namespace XrdCl;
94 if( !st.IsOK() )
return st;
100 ckSum.
Set( checkSumType.c_str() );
102 char *cksBuffer =
new char[265];
103 ckSum.Get( cksBuffer, 256 );
104 checkSum = checkSumType +
":";
118 if( !st.IsOK() )
return st;
119 if(
sizeof( T ) != calcSize )
121 "checksum size mismatch" );
140 using namespace XrdCl;
148 log->Error(
UtilityMsg,
"Calculator for %s was not initialized",
155 if( calcType != checkSumType )
157 log->Error(
UtilityMsg,
"Calculated checksum: %s, requested "
159 checkSumType.c_str() );
XrdCksCalc * pCksCalcObj
Definition: XrdClCheckSumHelper.hh:168
const uint16_t errInvalidArgs
Definition: XrdClStatus.hh:58
Manage the checksum calc objects.
Definition: XrdClCheckSumManager.hh:41
virtual ~CheckSumHelper()
Destructor.
Definition: XrdClCheckSumHelper.hh:41
std::string pCkSumType
Definition: XrdClCheckSumHelper.hh:167
Definition: XrdCksData.hh:37
const uint16_t errCheckSumError
Definition: XrdClStatus.hh:101
void Update(const void *buffer, uint32_t size)
Definition: XrdClCheckSumHelper.hh:77
static Log * GetLog()
Get default log.
static CheckSumManager * GetCheckSumManager()
Get checksum manager.
Definition: XrdCksCalc.hh:39
int Set(const char *csName)
Definition: XrdCksData.hh:81
XRootDStatus Initialize()
Initialize.
Definition: XrdClCheckSumHelper.hh:49
const uint16_t stError
An error occurred that could potentially be retried.
Definition: XrdClStatus.hh:32
const std::string & GetType()
Definition: XrdClCheckSumHelper.hh:126
Request status.
Definition: XrdClXRootDResponses.hh:218
virtual const char * Type(int &csSize)=0
XrdCksCalc * GetCalculator(const std::string &algName)
Check sum helper for stdio.
Definition: XrdClCheckSumHelper.hh:25
static std::string NormalizeChecksum(const std::string &name, const std::string &checksum)
Normalize checksum.
XRootDStatus GetRawCheckSum(const std::string &checkSumType, T &value)
Definition: XrdClCheckSumHelper.hh:114
void Error(uint64_t topic, const char *format,...)
Report an error.
virtual void Update(const char *Buff, int BLen)=0
const uint16_t errInternal
Internal error.
Definition: XrdClStatus.hh:56
const uint64_t UtilityMsg
Definition: XrdClConstants.hh:33
CheckSumHelper(const std::string &name, const std::string &ckSumType)
Constructor.
Definition: XrdClCheckSumHelper.hh:31
XRootDStatus GetCheckSum(std::string &checkSum, std::string &checkSumType)
Definition: XrdClCheckSumHelper.hh:86
std::string pName
Definition: XrdClCheckSumHelper.hh:166
XRootDStatus GetCheckSumImpl(const std::string &checkSumType, int &calcSize)
Definition: XrdClCheckSumHelper.hh:137
Handle diagnostics.
Definition: XrdClLog.hh:100