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)  

putUtil.cpp File Reference
#include <sys/time.h>
#include "rodsPath.h"
#include "rodsErrorTable.h"
#include "rodsLog.h"
#include "putUtil.h"
#include "miscUtil.h"
#include "rcPortalOpr.h"
#include "checksum.hpp"
#include "rcGlobalExtern.h"
#include <string>
#include <boost/filesystem.hpp>
#include "irods_server_properties.hpp"
#include "irods_path_recursion.hpp"
#include "irods_exception.hpp"
#include "irods_random.hpp"
#include "irods_log.hpp"
#include "sockComm.h"
#include <boost/filesystem/operations.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/filesystem/convenience.hpp>
Include dependency graph for putUtil.cpp:

Go to the source code of this file.

Functions

int chkStateForResume (rcComm_t *conn, rodsRestart_t *rodsRestart, char *targPath, rodsArguments_t *rodsArgs, objType_t objType, keyValPair_t *condInput, int deleteFlag)
 
int setStateForResume (rcComm_t *conn, rodsRestart_t *rodsRestart, char *restartPath, objType_t objType, keyValPair_t *condInput, int deleteFlag)
 
int setSessionTicket (rcComm_t *myConn, char *ticket)
 
int putUtil (rcComm_t **myConn, rodsEnv *myRodsEnv, rodsArguments_t *myRodsArgs, rodsPathInp_t *rodsPathInp)
 
int putFileUtil (rcComm_t *conn, char *srcPath, char *targPath, rodsLong_t srcSize, rodsArguments_t *rodsArgs, dataObjInp_t *dataObjOprInp)
 
int initCondForPut (rcComm_t *conn, rodsEnv *myRodsEnv, rodsArguments_t *rodsArgs, dataObjInp_t *dataObjOprInp, bulkOprInp_t *bulkOprInp, rodsRestart_t *rodsRestart)
 
int putDirUtil (rcComm_t **myConn, char *srcDir, char *targColl, rodsEnv *myRodsEnv, rodsArguments_t *rodsArgs, dataObjInp_t *dataObjOprInp, bulkOprInp_t *bulkOprInp, rodsRestart_t *rodsRestart, bulkOprInfo_t *bulkOprInfo)
 
int bulkPutDirUtil (rcComm_t **myConn, char *srcDir, char *targColl, rodsEnv *myRodsEnv, rodsArguments_t *rodsArgs, dataObjInp_t *dataObjOprInp, bulkOprInp_t *bulkOprInp, rodsRestart_t *rodsRestart)
 
int getPhyBunDir (char *phyBunRootDir, char *userName, char *outPhyBunDir)
 
int bulkPutFileUtil (rcComm_t *conn, char *srcPath, char *targPath, rodsLong_t srcSize, int createMode, rodsArguments_t *rodsArgs, bulkOprInp_t *bulkOprInp, bulkOprInfo_t *bulkOprInfo)
 
int sendBulkPut (rcComm_t *conn, bulkOprInp_t *bulkOprInp, bulkOprInfo_t *bulkOprInfo, rodsArguments_t *rodsArgs)
 
int clearBulkOprInfo (bulkOprInfo_t *bulkOprInfo)
 

Function Documentation

◆ bulkPutDirUtil()

int bulkPutDirUtil ( rcComm_t **  myConn,
char *  srcDir,
char *  targColl,
rodsEnv myRodsEnv,
rodsArguments_t rodsArgs,
dataObjInp_t dataObjOprInp,
bulkOprInp_t bulkOprInp,
rodsRestart_t rodsRestart 
)

◆ bulkPutFileUtil()

int bulkPutFileUtil ( rcComm_t conn,
char *  srcPath,
char *  targPath,
rodsLong_t  srcSize,
int  createMode,
rodsArguments_t rodsArgs,
bulkOprInp_t bulkOprInp,
bulkOprInfo_t bulkOprInfo 
)

◆ chkStateForResume()

int chkStateForResume ( rcComm_t conn,
rodsRestart_t rodsRestart,
char *  targPath,
rodsArguments_t rodsArgs,
objType_t  objType,
keyValPair_t condInput,
int  deleteFlag 
)

Definition at line 34 of file putUtil.cpp.

References rodsRestart_t::curCnt, DATA_OBJ_T, rodsRestart_t::doneCnt, LAST_PATH_MATCHED, rodsRestart_t::lastDonePath, LOCAL_FILE_T, LOG_ERROR, MATCHED_RESTART_COLL, PATH_MATCHING, RESTART_OPR_FAILED, rodsRestart_t::restartState, rodsLog(), setStateForResume(), irods.pypyodbc::status, True, and rodsArguments_t::verbose.

Referenced by cpCollUtil(), getCollUtil(), putDirUtil(), and replCollUtil().

Here is the call graph for this function:

◆ clearBulkOprInfo()

int clearBulkOprInfo ( bulkOprInfo_t bulkOprInfo)

◆ getPhyBunDir()

int getPhyBunDir ( char *  phyBunRootDir,
char *  userName,
char *  outPhyBunDir 
)

Definition at line 986 of file putUtil.cpp.

References irods::experimental::administration::client::v1::exists(), MAX_NAME_LEN, and pid_age::p.

Here is the call graph for this function:

◆ initCondForPut()

int initCondForPut ( rcComm_t conn,
rodsEnv myRodsEnv,
rodsArguments_t rodsArgs,
dataObjInp_t dataObjOprInp,
bulkOprInp_t bulkOprInp,
rodsRestart_t rodsRestart 
)

Definition at line 452 of file putUtil.cpp.

References ACL_INCLUDED_KW, rodsArguments_t::acl_string, addKeyVal(), rodsArguments_t::all, ALL_KW, rodsArguments_t::bulk, BULK_OPR_KW, BULK_OPR_MISMATCH_FOR_RESTART, rodsArguments_t::checksum, bulkOprInp_t::condInput, DataObjInp::condInput, DATA_TYPE_KW, rodsArguments_t::dataType, rodsArguments_t::dataTypeString, DEF_RESC_NAME_KW, DEST_RESC_NAME_KW, rodsRestart_t::doneCnt, False, FILE_PATH_KW, FILE_RESTART_ON, rcComm_t::fileRestart, fileRestart_t::flags, rodsArguments_t::force, FORCE_FLAG_KW, fileRestart_t::infoFile, initAttriArrayOfBulkOprInp(), KEY_VALUE_PASSTHROUGH_KW, rodsArguments_t::kv_pass, rodsArguments_t::kv_pass_string, rodsArguments_t::lfrestart, rodsArguments_t::lfrestartFileString, LOCK_TYPE_KW, LOG_ERROR, LOG_NOTICE, MAX_NAME_LEN, METADATA_INCLUDED_KW, rodsArguments_t::metadata_string, NAME_LEN, NO_THREADING, NON_BULK_OPR_KW, NULL, rodsArguments_t::number, rodsArguments_t::numberValue, DataObjInp::numThreads, DataObjInp::openFlags, openRestartFile(), DataObjInp::oprType, rodsRestart_t::oprType, rodsArguments_t::physicalPath, rodsArguments_t::physicalPathString, PURGE_CACHE_KW, rodsArguments_t::purgeCache, PUT_OPR, rodsArguments_t::rbudp, RBUDP_PACK_SIZE_KW, RBUDP_SEND_RATE_KW, RBUDP_TRANSFER_KW, REG_CHKSUM_KW, REPL_NUM_KW, rodsArguments_t::replNum, rodsArguments_t::replNumValue, rodsArguments_t::resource, rodsArguments_t::resourceString, rodsArguments_t::restart, rodsArguments_t::restartFileString, rodsArguments_t::retries, rodsArguments_t::rlock, rodsEnv::rodsDefResource, rodsLog(), rodsLogError(), rstrcpy(), irods.pypyodbc::status, True, USER__NULL_INPUT_ERR, USER_INPUT_OPTION_ERR, USER_INPUT_PATH_ERR, VERIFY_CHKSUM_KW, rodsArguments_t::verifyChecksum, VERY_VERBOSE_KW, rodsArguments_t::veryVerbose, rodsArguments_t::wlock, and WRITE_LOCK_TYPE.

Referenced by putUtil().

Here is the call graph for this function:

◆ putDirUtil()

int putDirUtil ( rcComm_t **  myConn,
char *  srcDir,
char *  targColl,
rodsEnv myRodsEnv,
rodsArguments_t rodsArgs,
dataObjInp_t dataObjOprInp,
bulkOprInp_t bulkOprInp,
rodsRestart_t rodsRestart,
bulkOprInfo_t bulkOprInfo 
)

◆ putFileUtil()

◆ putUtil()

int putUtil ( rcComm_t **  myConn,
rodsEnv myRodsEnv,
rodsArguments_t myRodsArgs,
rodsPathInp_t rodsPathInp 
)

Definition at line 165 of file putUtil.cpp.

References addKeyVal(), rodsArguments_t::bulk, bulkPutDirUtil(), CAT_NO_ROWS_FOUND, irods::exception::client_display_what(), COLL_OBJ_T, DataObjInp::condInput, DataObjInp::createMode, DATA_OBJ_T, irods::disallow_file_dir_mix_on_command_line(), False, rodsRestart_t::fd, FILE_RESTART_ON, FILE_RESTARTED, irods::file_system_sanity_check(), rcComm_t::fileRestart, fileRestart_t::flags, getDirSizeForProgStat(), gGuiProgressCB, fileRestart_t::info, fileRestart_t::infoFile, initCondForPut(), irods::is_path_valid_for_recursion(), lfRestartPutWithInfo(), LOG_ERROR, MAX_NAME_LEN, NO_RECONN, NULL, RodsPathInp::numSrc, RodsPath::objMode, fileRestartInfo_t::objPath, RodsPath::objType, rcComm_t::operProgress, RodsPath::outPath, PUT_OPR, putDirUtil(), putFileUtil(), rcReconnect(), readLfRestartFile(), RECONN_TIMEOUT, rodsArguments_t::reconnect, RECURSIVE_OPR__KW, RodsPathInp::resolved, resolveRodsTarget(), rodsArguments_t::retries, rodsArguments_t::retriesValue, rodsEnv::rodsHost, rodsLog(), rodsLogError(), rstrcpy(), setSessionTicket(), setStateForRestart(), RodsPath::size, RodsPathInp::srcPath, fileRestartInfo_t::status, irods.pypyodbc::status, SYS_INVALID_INPUT_PARAM, RodsPathInp::targPath, rodsArguments_t::ticket, rodsArguments_t::ticketString, OperProgress::totalFileSize, OperProgress::totalNumFiles, True, USER__NULL_INPUT_ERR, and USER_INPUT_PATH_ERR.

Here is the call graph for this function:

◆ sendBulkPut()

◆ setSessionTicket()

int setSessionTicket ( rcComm_t myConn,
char *  ticket 
)

Definition at line 147 of file putUtil.cpp.

References ticketAdminInp_t::arg1, ticketAdminInp_t::arg2, ticketAdminInp_t::arg3, ticketAdminInp_t::arg4, ticketAdminInp_t::arg5, ticketAdminInp_t::arg6, rcTicketAdmin(), and irods.pypyodbc::status.

Referenced by lsUtil(), and putUtil().

Here is the call graph for this function:

◆ setStateForResume()