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)  

procApiRequest.cpp File Reference
#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"
Include dependency graph for procApiRequest.cpp:

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)
 

Function Documentation

◆ _cliGetCollOprStat()

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().

Here is the call graph for this function:

◆ apiTableLookup()

int apiTableLookup ( int  apiNumber)

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().

Here is the call graph for this function:

◆ branchReadAndProcApiReply()

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().

Here is the call graph for this function:

◆ cliGetCollOprStat()

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().

Here is the call graph for this function:

◆ procApiReply()

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().

Here is the call graph for this function:

◆ procApiRequest()

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().

Here is the call graph for this function:

◆ readAndProcApiReply()

◆ sendApiRequest()