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 "rcConnect.h"
#include "rcGlobalExtern.h"
#include "rcMisc.h"
#include <boost/asio.hpp>
#include <boost/thread.hpp>
#include <boost/chrono.hpp>
#include "irods_network_factory.hpp"
#include "sockComm.h"
#include "irods_threads.hpp"
#include "sockCommNetworkInterface.hpp"
#include "rodsError.h"
#include <time.h>
Go to the source code of this file.
Functions | |
rcComm_t * | rcConnect (const char *rodsHost, int rodsPort, const char *userName, const char *rodsZone, int reconnFlag, rErrMsg_t *errMsg) |
rcComm_t * | _rcConnect (const char *rodsHost, int rodsPort, const char *proxyUserName, const char *proxyRodsZone, const char *clientUserName, const char *clientRodsZone, rErrMsg_t *errMsg, int connectCnt, int reconnFlag) |
int | setUserInfo (const char *proxyUserName, const char *proxyRodsZone, const char *clientUserName, const char *clientRodsZone, userInfo_t *clientUser, userInfo_t *proxyUser) |
int | setRhostInfo (rcComm_t *conn, const char *rodsHost, int rodsPort) |
int | setSockAddr (struct sockaddr_in *remoteAddr, const char *rodsHost, int rodsPort) |
int | rcDisconnect (rcComm_t *_conn) |
int | freeRcComm (rcComm_t *conn) |
int | cleanRcComm (rcComm_t *conn) |
rcComm_t * | rcConnectXmsg (rodsEnv *myRodsEnv, rErrMsg_t *errMsg) |
void | cliReconnManager (rcComm_t *conn) |
int | cliChkReconnAtSendStart (rcComm_t *conn) |
int | cliChkReconnAtSendEnd (rcComm_t *conn) |
int | cliChkReconnAtReadStart (rcComm_t *conn) |
int | cliChkReconnAtReadEnd (rcComm_t *conn) |
int | isLoopbackAddress (const char *ip_address) |
rcComm_t* _rcConnect | ( | const char * | rodsHost, |
int | rodsPort, | ||
const char * | proxyUserName, | ||
const char * | proxyRodsZone, | ||
const char * | clientUserName, | ||
const char * | clientRodsZone, | ||
rErrMsg_t * | errMsg, | ||
int | connectCnt, | ||
int | reconnFlag | ||
) |
Definition at line 54 of file rcConnect.cpp.
References rcComm_t::clientUser, cliReconnManager(), thread_context::cond, connectToRhost(), ERR_MSG_LEN, rcComm_t::exit_flg, getIrodsErrno(), rcComm_t::host, IRODS_PROT, rcComm_t::irodsProt, isLoopbackAddress(), thread_context::lock, LOG_ERROR, rErrMsg_t::msg, NAME_LEN, NATIVE_PROT, NULL, rcComm_t::portNum, rcComm_t::proxyUser, RECONN_TIMEOUT, version_t::reconnAddr, version_t::reconnPort, thread_context::reconnThr, rodsLog(), rodsLogError(), rstrcpy(), setRhostInfo(), setUserInfo(), rErrMsg_t::status, irods.pypyodbc::status, rcComm_t::svrVersion, SYS_SOCK_READ_TIMEDOUT, rcComm_t::thread_ctx, and XML_PROT.
Referenced by rcConnect(), and svrToSvrConnectNoLogin().
Definition at line 337 of file rcConnect.cpp.
References thread_context::cond, freeRError(), thread_context::lock, NULL, thread_context::reconnThr, rcComm_t::rError, rcComm_t::svrVersion, and rcComm_t::thread_ctx.
Referenced by freeRcComm().
Definition at line 585 of file rcConnect.cpp.
References rcComm_t::clientState, thread_context::cond, CONN_WAIT_STATE, thread_context::lock, LOG_DEBUG, LOG_ERROR, NULL, PROCESSING_STATE, version_t::reconnPort, rcComm_t::reconnThrState, rodsLog(), rcComm_t::svrVersion, SYS_INTERNAL_ERR, and rcComm_t::thread_ctx.
Referenced by readAndProcApiReply().
Definition at line 567 of file rcConnect.cpp.
References rcComm_t::clientState, thread_context::lock, LOG_ERROR, NULL, RECEIVING_STATE, version_t::reconnPort, rodsLog(), rcComm_t::svrVersion, SYS_INTERNAL_ERR, and rcComm_t::thread_ctx.
Referenced by readAndProcApiReply().
Definition at line 545 of file rcConnect.cpp.
References rcComm_t::clientState, thread_context::cond, CONN_WAIT_STATE, thread_context::lock, LOG_ERROR, NULL, PROCESSING_STATE, version_t::reconnPort, rcComm_t::reconnThrState, rodsLog(), rcComm_t::svrVersion, SYS_INTERNAL_ERR, and rcComm_t::thread_ctx.
Referenced by sendApiRequest().
Definition at line 512 of file rcConnect.cpp.
References rcComm_t::clientState, thread_context::cond, CONN_WAIT_STATE, thread_context::lock, LOG_DEBUG, LOG_ERROR, NULL, PROCESSING_STATE, version_t::reconnPort, rcComm_t::reconnThrState, rodsLog(), SENDING_STATE, rcComm_t::svrVersion, SYS_INTERNAL_ERR, SYS_INVALID_INPUT_PARAM, and rcComm_t::thread_ctx.
Referenced by sendApiRequest().
void cliReconnManager | ( | rcComm_t * | conn | ) |
Definition at line 378 of file rcConnect.cpp.
References rcComm_t::agentState, rcComm_t::clientState, cliSwitchConnect(), irods::error::code(), thread_context::cond, CONN_WAIT_STATE, connectToRhostWithRaddr(), reconnMsg::cookie, version_t::cookie, rcComm_t::exit_flg, load_in_addr_from_hostname(), thread_context::lock, irods::log(), LOG_DEBUG, LOG_ERROR, irods::network_factory(), NULL, irods::error::ok(), PASS, PROCESSING_STATE, reconnMsg::procState, readReconMsg(), RECONN_TIMEOUT_TIME, version_t::reconnAddr, RECONNECT_SLEEP_TIME, rcComm_t::reconnectedSock, version_t::reconnPort, rcComm_t::reconnThrState, rcComm_t::reconnTime, rodsLog(), rodsSleep(), sendReconnMsg(), irods.pypyodbc::status, rcComm_t::svrVersion, rcComm_t::thread_ctx, and rcComm_t::windowSize.
Referenced by _rcConnect().
Definition at line 323 of file rcConnect.cpp.
References cleanRcComm(), NULL, and irods.pypyodbc::status.
Referenced by rcDisconnect().
int isLoopbackAddress | ( | const char * | ip_address | ) |
Definition at line 620 of file rcConnect.cpp.
Referenced by _getSvrAddr(), _rcConnect(), and svrSockOpenForInConn().
rcComm_t* rcConnect | ( | const char * | rodsHost, |
int | rodsPort, | ||
const char * | userName, | ||
const char * | rodsZone, | ||
int | reconnFlag, | ||
rErrMsg_t * | errMsg | ||
) |
Definition at line 30 of file rcConnect.cpp.
References _rcConnect(), NULL, RECONN_TIMEOUT, and RECONNECT_ENV.
Referenced by irods::connection_pool::create_connection(), irods::server_control_executor::get_resource_host_names(), msi_update_unixfilesystem_resource_free_space(), rcConnectXmsg(), and rcReconnect().
Definition at line 362 of file rcConnect.cpp.
References NULL, rcConnect(), rodsEnv::rodsUserName, rodsEnv::rodsZone, rodsEnv::xmsgHost, and rodsEnv::xmsgPort.
Referenced by _readXMsg(), _writeXMsg(), and msiXmsgServerConnect().
Definition at line 246 of file rcConnect.cpp.
References irods::error::code(), rcComm_t::exit_flg, freeRcComm(), getRodsEnv(), rcComm_t::irodsProt, irods::log(), LOG_ERROR, irods::network_factory(), NULL, irods::error::ok(), PASS, thread_context::reconnThr, RODS_DISCONNECT_T, rodsLog(), sendRodsMsg(), rcComm_t::sock, sockClientStop(), irods.pypyodbc::status, SYS_INTERNAL_ERR, SYS_THREAD_ENCOUNTERED_INTERRUPT, and rcComm_t::thread_ctx.
Referenced by _readXMsg(), _writeXMsg(), disconnectAllSvrToSvrConn(), disconnRcatHost(), irods::server_control_executor::get_resource_host_names(), getAndDisconnRcatHost(), initServer(), msi_update_unixfilesystem_resource_free_space(), msiXmsgServerDisConnect(), rcReconnect(), and rsPamAuthRequest().
Definition at line 217 of file rcConnect.cpp.
References rcComm_t::host, NAME_LEN, NULL, rcComm_t::portNum, rcComm_t::remoteAddr, rstrcpy(), setSockAddr(), irods.pypyodbc::status, and USER_RODS_HOST_EMPTY.
Referenced by _rcConnect().
Definition at line 233 of file rcConnect.cpp.
References load_in_addr_from_hostname(), and irods.pypyodbc::status.
Referenced by connectToRhostPortal(), and setRhostInfo().
int setUserInfo | ( | const char * | proxyUserName, |
const char * | proxyRodsZone, | ||
const char * | clientUserName, | ||
const char * | clientRodsZone, | ||
userInfo_t * | clientUser, | ||
userInfo_t * | proxyUser | ||
) |
Definition at line 186 of file rcConnect.cpp.
References CLIENT_RODS_ZONE_KEYWD, CLIENT_USER_NAME_KEYWD, NAME_LEN, NULL, userInfo_t::rodsZone, rstrcpy(), and userInfo_t::userName.
Referenced by _rcConnect().