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.
![]() ![]() |
#include "irods_network_factory.hpp"
#include "irods_client_api_table.hpp"
#include "procApiRequest.h"
#include "rcGlobalExtern.h"
#include "rcMisc.h"
#include "sockComm.h"
#include "sockCommNetworkInterface.hpp"
#include "sslSockComm.h"
#include "irods_client_server_negotiation.hpp"
#include <iostream>
#include <boost/shared_ptr.hpp>
#include "irods_threads.hpp"
Go to the source code of this file.
Functions | |
int | procApiRequest (rcComm_t *conn, int apiNumber, void *inputStruct, bytesBuf_t *inputBsBBuf, void **outStruct, bytesBuf_t *outBsBBuf) |
int | branchReadAndProcApiReply (rcComm_t *conn, int apiNumber, void **outStruct, bytesBuf_t *outBsBBuf) |
int | sendApiRequest (rcComm_t *conn, int apiInx, void *inputStruct, bytesBuf_t *inputBsBBuf) |
int | readAndProcApiReply (rcComm_t *conn, int apiInx, void **outStruct, bytesBuf_t *outBsBBuf) |
int | procApiReply (rcComm_t *conn, int apiInx, void **outStruct, bytesBuf_t *outBsBBuf, msgHeader_t *myHeader, bytesBuf_t *outStructBBuf, bytesBuf_t *myOutBsBBuf, bytesBuf_t *errorBBuf) |
int | cliGetCollOprStat (rcComm_t *conn, collOprStat_t *collOprStat, int vFlag, int retval) |
int | _cliGetCollOprStat (rcComm_t *conn, collOprStat_t **collOprStat) |
int | apiTableLookup (int apiNumber) |
int _cliGetCollOprStat | ( | rcComm_t * | conn, |
collOprStat_t ** | collOprStat | ||
) |
Definition at line 445 of file procApiRequest.cpp.
References rcComm_t::apiInx, irods::CS_NEG_USE_SSL(), LOG_ERROR, myWrite(), rcComm_t::negotiation_results, NULL, readAndProcApiReply(), rodsLogError(), rcComm_t::sock, rcComm_t::ssl, sslWrite(), SYS_CLI_TO_SVR_COLL_STAT_REPLY, and SYS_SOCK_WRITE_ERR.
Referenced by cliGetCollOprStat(), and svrSendZoneCollOprStat().
Definition at line 461 of file procApiRequest.cpp.
References irods::experimental::filesystem::client::end(), irods::lookup_table< ValueType, KeyType, HashType >::find(), irods::get_client_api_table(), irods::get_server_api_table(), and SYS_UNMATCHED_API_NUM.
Referenced by branchReadAndProcApiReply(), procApiRequest(), rsApiHandler(), and setApiPerm().
int branchReadAndProcApiReply | ( | rcComm_t * | conn, |
int | apiNumber, | ||
void ** | outStruct, | ||
bytesBuf_t * | outBsBBuf | ||
) |
Definition at line 94 of file procApiRequest.cpp.
References rcComm_t::apiInx, apiTableLookup(), LOG_DEBUG, LOG_ERROR, NULL, readAndProcApiReply(), rodsLog(), rodsLogError(), irods.pypyodbc::status, and USER__NULL_INPUT_ERR.
Referenced by rcDataObjRsync(), and rcExecMyRule().
int cliGetCollOprStat | ( | rcComm_t * | conn, |
collOprStat_t * | collOprStat, | ||
int | vFlag, | ||
int | retval | ||
) |
Definition at line 413 of file procApiRequest.cpp.
References _cliGetCollOprStat(), collOprStat_t::bytesWritten, collOprStat_t::filesCnt, collOprStat_t::lastObjPath, NULL, irods.pypyodbc::status, SYS_SVR_TO_CLI_COLL_STAT, and collOprStat_t::totalFileCnt.
Referenced by rcCollRepl(), and rcRmColl().
int procApiReply | ( | rcComm_t * | conn, |
int | apiInx, | ||
void ** | outStruct, | ||
bytesBuf_t * | outBsBBuf, | ||
msgHeader_t * | myHeader, | ||
bytesBuf_t * | outStructBBuf, | ||
bytesBuf_t * | myOutBsBBuf, | ||
bytesBuf_t * | errorBBuf | ||
) |
Definition at line 325 of file procApiRequest.cpp.
References BytesBuf::buf, irods::get_client_api_table(), msgHeader::intInfo, rcComm_t::irodsProt, BytesBuf::len, LOG_ERROR, NULL, rcComm_t::rError, rodsLog(), rodsLogError(), RodsPackTable, irods.pypyodbc::status, unpackStruct(), and USER_API_INPUT_ERR.
Referenced by readAndProcApiReply().
int procApiRequest | ( | rcComm_t * | conn, |
int | apiNumber, | ||
void * | inputStruct, | ||
bytesBuf_t * | inputBsBBuf, | ||
void ** | outStruct, | ||
bytesBuf_t * | outBsBBuf | ||
) |
Definition at line 55 of file procApiRequest.cpp.
References rcComm_t::apiInx, apiTableLookup(), freeRError(), LOG_DEBUG, LOG_ERROR, NULL, readAndProcApiReply(), rcComm_t::rError, rodsLog(), rodsLogError(), sendApiRequest(), irods.pypyodbc::status, and USER__NULL_INPUT_ERR.
Referenced by _rcCollRepl(), _rcDataObjCopy(), _rcDataObjGet(), _rcDataObjPhymv(), _rcDataObjPut(), _rcDataObjRepl(), _rcDataObjRsync(), _rcRmColl(), rc_atomic_apply_metadata_operations(), rc_data_object_modify_info(), rc_get_file_descriptor_info(), rcAuthCheck(), rcAuthPluginRequest(), rcAuthRequest(), rcAuthResponse(), rcBulkDataObjPut(), rcBulkDataObjReg(), rcChkNVPathPerm(), rcChkObjPermAndStat(), rcClientHints(), rcCloseCollection(), rcCollCreate(), rcDataCopy(), rcDataGet(), rcDataObjChksum(), rcDataObjClose(), rcDataObjCreate(), rcDataObjCreateAndStat(), rcDataObjLock(), rcDataObjLseek(), rcDataObjOpen(), rcDataObjOpenAndStat(), rcDataObjRead(), rcDataObjRename(), rcDataObjTrim(), rcDataObjTruncate(), rcDataObjUnlink(), rcDataObjUnlock(), rcDataObjWrite(), rcDataPut(), rcEndTransaction(), rcExecCmd(), rcExecMyRule(), rcExecRuleExpression(), rcFileChksum(), rcFileChmod(), rcFileClose(), rcFileClosedir(), rcFileCreate(), rcFileGet(), rcFileGetFsFreeSpace(), rcFileLseek(), rcFileMkdir(), rcFileOpen(), rcFileOpendir(), rcFilePut(), rcFileRead(), rcFileReaddir(), rcFileRename(), rcFileRmdir(), rcFileStageToCache(), rcFileStat(), rcFileSyncToArch(), rcFileTruncate(), rcFileUnlink(), rcFileWrite(), rcGeneralAdmin(), rcGeneralRowInsert(), rcGeneralRowPurge(), rcGeneralUpdate(), rcGenQuery(), rcGetHierarchyForResc(), rcGetHierFromLeafId(), rcGetHostForGet(), rcGetHostForPut(), rcGetLimitedPassword(), rcGetMiscSvrInfo(), rcGetRemoteZoneResc(), rcGetRescQuota(), rcGetTempPassword(), rcGetTempPasswordForOther(), rcGetXmsgTicket(), rcIESClientHints(), rcL3FileGetSingleBuf(), rcL3FilePutSingleBuf(), rcModAccessControl(), rcModAVUMetadata(), rcModColl(), rcModDataObjMeta(), rcObjStat(), rcOpenCollection(), rcOprComplete(), rcPamAuthRequest(), rcPhyBundleColl(), rcPhyPathReg(), rcProcStat(), rcQuerySpecColl(), rcRcvXmsg(), rcReadCollection(), rcRegColl(), rcRegDataObj(), rcRegReplica(), rcRuleExecDel(), rcRuleExecMod(), rcRuleExecSubmit(), rcSendXmsg(), rcServerReport(), rcSetRoundRobinContext(), rcSimpleQuery(), rcSpecificQuery(), rcSslEnd(), rcSslStart(), rcStreamClose(), rcStreamRead(), rcStructFileBundle(), rcStructFileExtAndReg(), rcStructFileExtract(), rcStructFileSync(), rcSubStructFileClose(), rcSubStructFileClosedir(), rcSubStructFileCreate(), rcSubStructFileGet(), rcSubStructFileLseek(), rcSubStructFileMkdir(), rcSubStructFileOpen(), rcSubStructFileOpendir(), rcSubStructFilePut(), rcSubStructFileRead(), rcSubStructFileReaddir(), rcSubStructFileRename(), rcSubStructFileRmdir(), rcSubStructFileStat(), rcSubStructFileTruncate(), rcSubStructFileUnlink(), rcSubStructFileWrite(), rcSyncMountedColl(), rcTicketAdmin(), rcUnbunAndRegPhyBunfile(), rcUnregDataObj(), rcUserAdmin(), rcZoneReport(), and rsSetRoundRobinContext().
int readAndProcApiReply | ( | rcComm_t * | conn, |
int | apiInx, | ||
void ** | outStruct, | ||
bytesBuf_t * | outBsBBuf | ||
) |
Definition at line 231 of file procApiRequest.cpp.
References rcComm_t::agentState, clearBBuf(), cliChkReconnAtReadEnd(), cliChkReconnAtReadStart(), rcComm_t::clientState, cliSwitchConnect(), irods::error::code(), CODE, irods::get_client_api_table(), rcComm_t::irodsProt, thread_context::lock, irods::log(), LOG_DEBUG, LOG_ERROR, irods::network_factory(), NULL, irods::error::ok(), PASS, procApiReply(), readMsgBody(), readMsgHeader(), version_t::reconnPort, RODS_API_REPLY_T, rodsLog(), irods.pypyodbc::status, rcComm_t::svrVersion, SYS_HEADER_READ_LEN_ERR, SYS_INTERNAL_ERR, rcComm_t::thread_ctx, msgHeader::type, and USER_API_INPUT_ERR.
Referenced by _cliGetCollOprStat(), branchReadAndProcApiReply(), and procApiRequest().
int sendApiRequest | ( | rcComm_t * | conn, |
int | apiInx, | ||
void * | inputStruct, | ||
bytesBuf_t * | inputBsBBuf | ||
) |
Definition at line 123 of file procApiRequest.cpp.
References rcComm_t::agentState, cliChkReconnAtSendEnd(), cliChkReconnAtSendStart(), rcComm_t::clientState, cliSwitchConnect(), irods::error::code(), irods::lookup_table< ValueType, KeyType, HashType >::end(), irods::lookup_table< ValueType, KeyType, HashType >::find(), freeBBuf(), irods::get_client_api_table(), rcComm_t::irodsProt, thread_context::lock, irods::log(), LOG_DEBUG, LOG_ERROR, LOG_NOTICE, irods::network_factory(), NULL, irods::error::ok(), packStruct(), PASS, version_t::reconnPort, RODS_API_REQ_T, rodsLog(), rodsLogError(), RodsPackTable, sendRodsMsg(), irods.pypyodbc::status, rcComm_t::svrVersion, SYS_UNMATCHED_API_NUM, rcComm_t::thread_ctx, and USER_API_INPUT_ERR.
Referenced by procApiRequest().