irods
4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems. Fossies Dox: irods-4.2.8.tar.gz ("unofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file.
19 #define SVR_MD5_BUF_SZ (1024*1024)
31 irods::log(
PASSMSG(
"failed in call to irods::get_host_for_hier_string", ret ) );
44 if ( remoteFlag < 0 ) {
49 "rsFileChksum: resolveHost returned unrecognized value %d",
65 "remoteFileChksum: Invalid rodsServerHost" );
78 "remoteFileChksum: rcFileChksum failed for %s",
92 *chksumStr = (
char* )malloc(
sizeof(
char ) *
NAME_LEN );
104 "_rsFileChksum: fileChksum for %s, status = %d",
134 std::string hash_policy;
141 std::string chkstr_scheme;
154 std::string final_scheme( hash_scheme );
155 if ( !chkstr_scheme.empty() ) {
156 if ( !hash_policy.empty() ) {
158 if ( hash_scheme != chkstr_scheme ) {
163 final_scheme = chkstr_scheme;
168 "fileChksum :: final_scheme [%s] chkstr_scheme [%s] svr_hash_policy [%s] hash_policy [%s]",
169 final_scheme.c_str(),
170 chkstr_scheme.c_str(),
171 hash_policy.c_str() );
186 std::stringstream msg;
187 msg <<
"fileOpen failed for [";
216 if (!read_err.
ok()) {
217 std::stringstream msg;
219 msg <<
" - Failed to read buffer from file: \"";
224 return result.
code();
226 int bytes_read = read_err.
code();
229 if ( bytes_read == 0 ) {
230 std::string buffer_read;
236 while ( read_err.
ok() && bytes_read > 0 ) {
244 if ( read_err.
ok() ) {
245 bytes_read = read_err.
code();
248 std::stringstream msg;
250 msg <<
" - Failed to read buffer from file: \"";
255 return result.
code();
273 strncpy( chksumStr, digest.c_str(),
NAME_LEN );
void rodsLog(int level, const char *formatStr,...)
const std::string CFG_DEFAULT_HASH_SCHEME_KW("default_hash_scheme")
void transform(const InputC &ic, OutputC &oc, UnaryOperation func)
@ SYS_UNRECOGNIZED_REMOTE_FLAG
#define PASS(prev_error_)
error getHasher(const std::string &name, Hasher &hasher)
error get_hash_scheme_from_checksum(const std::string &checksum, std::string &scheme)
int rcFileChksum(rcComm_t *conn, fileChksumInp_t *fileChksumInp, char **chksumStr)
#define PASSMSG(message_, prev_error_)
int _rsFileChksum(rsComm_t *rsComm, fileChksumInp_t *fileChksumInp, char **chksumStr)
error get_host_for_hier_string(const std::string &, int &, rodsServerHost_t *&)
@ SYS_INVALID_SERVER_HOST
int svrToSvrConnect(rsComm_t *rsComm, rodsServerHost_t *rodsServerHost)
error update(const std::string &)
const std::string CFG_MATCH_HASH_POLICY_KW("match_hash_policy")
const std::string STRICT_HASH_POLICY("strict")
irods::error fileOpen(rsComm_t *, irods::first_class_object_ptr)
irods::error fileClose(rsComm_t *, irods::first_class_object_ptr)
error digest(std::string &messageDigest)
boost::shared_ptr< file_object > file_object_ptr
int rsFileChksum(rsComm_t *rsComm, fileChksumInp_t *fileChksumInp, char **chksumStr)
const std::string MD5_NAME("md5")
int remoteFileChksum(rsComm_t *rsComm, fileChksumInp_t *fileChksumInp, char **chksumStr, rodsServerHost_t *rodsServerHost)
int fileChksum(rsComm_t *rsComm, char *objPath, char *fileName, char *rescHier, char *orig_chksum, char *chksumStr)
irods::error fileRead(rsComm_t *, irods::first_class_object_ptr, void *, int)