#include <XrdClientPhyConnection.hh>
Inheritance diagram for XrdClientPhyConnection:
Definition at line 46 of file XrdClientPhyConnection.hh.
XrdClientPhyConnection::XrdClientPhyConnection | ( | XrdClientAbsUnsolMsgHandler * | h, | |
XrdClientSid * | sid | |||
) |
Definition at line 76 of file XrdClientPhyConnection.cc.
References XrdClientUrlInfo::Clear(), EnvGetLong, fReaderthreadhandler, fReaderthreadrunning, fRequestTimeout, fSecProtocol, fServer, fServerType, fTTLsec, h, i, kNo, kSTNone, NAME_REQUESTTIMEOUT, READERCOUNT, SetLogged(), Touch(), and XrdClientUnsolMsgSender::UnsolicitedMsgHandler.
XrdClientPhyConnection::~XrdClientPhyConnection | ( | ) |
Definition at line 105 of file XrdClientPhyConnection.cc.
References XrdSecProtocol::Delete(), Disconnect(), fReaderthreadhandler, fReaderthreadrunning, fSecProtocol, fServer, fSocket, XrdClientUrlInfo::Host, i, Info, XrdClientThread::Join(), XrdClientDebug::kUSERDEBUG, XrdClientUrlInfo::Port, READERCOUNT, and UnlockChannel().
UnsolRespProcResult XrdClientPhyConnection::HandleUnsolicited | ( | XrdClientMessage * | m | ) | [private] |
Definition at line 527 of file XrdClientPhyConnection.cc.
References ServerResponseBody_Attn::actnum, Disconnect(), FALSE, fServer, XrdClientUrlInfo::Host, Info, XrdClientDebug::kNODEBUG, kUNSOL_CONTINUE, kXR_asyncab, kXR_asyncdi, kXR_asyncms, kXR_asyncrd, m, ServerResponseBody_Attn::parms, XrdClientUrlInfo::Port, retval, XrdClientUnsolMsgSender::SendUnsolicitedMsg(), Touch(), and TRUE.
Referenced by BuildMessage().
XrdClientMessage * XrdClientPhyConnection::BuildMessage | ( | bool | IgnoreTimeouts, | |
bool | Enqueue | |||
) |
Definition at line 425 of file XrdClientPhyConnection.cc.
References Error, fMsgQ, fSidManager, XrdClientSid::GetSidInfo(), HandleUnsolicited(), Info, XrdClientDebug::kDUMPDEBUG, kUNSOL_KEEP, kXR_oksofar, XrdClientMessage::kXrdMSC_readerr, XrdClientMessage::kXrdMSC_timeout, m, XrdClientInputBuffer::PutMsg(), XrdClientSid::ReleaseSid(), and Touch().
Referenced by SocketReaderThread().
bool XrdClientPhyConnection::CheckAutoTerm | ( | ) |
Definition at line 291 of file XrdClientPhyConnection.cc.
References FALSE, fMutex, fReaderthreadrunning, Info, IsValid(), XrdClientDebug::kHIDEBUG, l, TRUE, and UnlockChannel().
Referenced by SocketReaderThread().
bool XrdClientPhyConnection::Connect | ( | XrdClientUrlInfo | RemoteHost, | |
bool | isUnix = 0 | |||
) |
Definition at line 138 of file XrdClientPhyConnection.cc.
References Disconnect(), EnvGetLong, Error, FALSE, XrdClientUrlInfo::File, fMutex, fReaderthreadrunning, fServer, fSocket, fTTLsec, XrdClientUrlInfo::Host, Info, XrdClientSock::IsConnected(), XrdClientDebug::kHIDEBUG, l, NAME_DATASERVERCONN_TTL, NAME_MULTISTREAMCNT, XrdClientUrlInfo::Port, Touch(), TRUE, and XrdClientSock::TryConnect().
Referenced by XrdClientConnectionMgr::Connect(), ReConnect(), and XrdProofPhyConn::TryConnect().
void XrdClientPhyConnection::CountLogConn | ( | int | d = 1 |
) |
Definition at line 795 of file XrdClientPhyConnection.cc.
References fLogConnCnt, fMutex, XrdSysMutex::Lock(), and XrdSysMutex::UnLock().
Referenced by XrdClientConnectionMgr::Connect(), and XrdClientLogConnection::~XrdClientLogConnection().
void XrdClientPhyConnection::Disconnect | ( | ) |
Definition at line 273 of file XrdClientPhyConnection.cc.
References XrdClientSock::Disconnect(), fMutex, fSocket, Info, XrdClientDebug::kHIDEBUG, and l.
Referenced by XrdProofPhyConn::Close(), Connect(), HandleUnsolicited(), ReadRaw(), ReConnect(), WriteRaw(), and ~XrdClientPhyConnection().
ERemoteServerType XrdClientPhyConnection::DoHandShake | ( | ServerInitHandShake & | xbody, | |
int | substreamid = 0 | |||
) |
Definition at line 680 of file XrdClientPhyConnection.cc.
References Error, fServerType, Info, XrdClientDebug::kHIDEBUG, XrdClientDebug::kNODEBUG, kSTBaseXrootd, kSTDataXrootd, kSTError, kSTNone, kSTRootd, kXR_DataServer, kXR_LBalServer, len, ServerInitHandShake::msgval, ServerInitHandShake::protover, ReadRaw(), ServerInitHandShake2HostFmt(), type, and WriteRaw().
Referenced by XrdClientMStream::AddParallelStream().
bool XrdClientPhyConnection::ExpiredTTL | ( | ) |
Definition at line 659 of file XrdClientPhyConnection.cc.
References fLastUseTimestamp, and fTTLsec.
short XrdClientPhyConnection::GetLogConnCnt | ( | ) | const [inline] |
int XrdClientPhyConnection::GetReaderThreadsCnt | ( | ) | [inline] |
Definition at line 103 of file XrdClientPhyConnection.hh.
References fMutex, fReaderthreadrunning, and l.
long XrdClientPhyConnection::GetTTL | ( | ) | [inline] |
XrdSecProtocol* XrdClientPhyConnection::GetSecProtocol | ( | ) | const [inline] |
int XrdClientPhyConnection::GetSocket | ( | ) | [inline] |
Definition at line 108 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::fSocket.
Referenced by XrdProofConn::GetLowSocket().
void XrdClientPhyConnection::ReinitFDTable | ( | ) | [inline] |
Definition at line 111 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::ReinitFDTable().
Referenced by XrdClientMStream::AddParallelStream().
int XrdClientPhyConnection::SaveSocket | ( | ) | [inline] |
Definition at line 113 of file XrdClientPhyConnection.hh.
References fSocket, fTTLsec, and XrdClientSock::SaveSocket().
Referenced by XrdClientConn::GetAccessToSrv().
void XrdClientPhyConnection::SetInterrupt | ( | ) | [inline] |
Definition at line 114 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::SetInterrupt().
Referenced by XrdProofConn::SetInterrupt().
void XrdClientPhyConnection::SetSecProtocol | ( | XrdSecProtocol * | sp | ) | [inline] |
Definition at line 115 of file XrdClientPhyConnection.hh.
References fSecProtocol.
Referenced by XrdProofConn::Login().
void XrdClientPhyConnection::StartedReader | ( | ) |
Definition at line 257 of file XrdClientPhyConnection.cc.
References fMutex, fReaderCV, fReaderthreadrunning, l, and XrdSysSemWait::Post().
Referenced by SocketReaderThread().
bool XrdClientPhyConnection::IsAddress | ( | const XrdOucString & | addr | ) | [inline] |
Definition at line 119 of file XrdClientPhyConnection.hh.
References fServer, XrdClientUrlInfo::Host, and XrdClientUrlInfo::HostAddr.
ELoginState XrdClientPhyConnection::IsLogged | ( | ) |
Definition at line 816 of file XrdClientPhyConnection.cc.
References fLogged, fMutex, and l.
Referenced by XrdProofConn::Connect(), XrdProofConn::GetAccessToSrv(), XrdProofPhyConn::GetAccessToSrv(), and XrdClientConn::GetAccessToSrv().
bool XrdClientPhyConnection::IsPort | ( | int | port | ) | [inline] |
Definition at line 126 of file XrdClientPhyConnection.hh.
References fServer, and XrdClientUrlInfo::Port.
bool XrdClientPhyConnection::IsUser | ( | const XrdOucString & | usr | ) | [inline] |
Definition at line 127 of file XrdClientPhyConnection.hh.
References fServer, and XrdClientUrlInfo::User.
bool XrdClientPhyConnection::IsValid | ( | ) |
Definition at line 811 of file XrdClientPhyConnection.cc.
References fMutex, fSocket, XrdClientSock::IsConnected(), and l.
Referenced by XrdClientMStream::AddParallelStream(), CheckAutoTerm(), XrdClientConn::GetAccessToSrv(), XrdClientConn::IsPhyConnConnected(), XrdProofConn::IsValid(), ReadRaw(), and WriteRaw().
void XrdClientPhyConnection::LockChannel | ( | ) |
Definition at line 666 of file XrdClientPhyConnection.cc.
References fRwMutex, and XrdSysMutex::Lock().
Referenced by XrdClientPhyConnLocker::XrdClientPhyConnLocker().
int XrdClientPhyConnection::ReadRaw | ( | void * | buffer, | |
int | BufferLength, | |||
int | substreamid = -1 , |
|||
int * | usedsubstreamid = 0 | |||
) |
Definition at line 343 of file XrdClientPhyConnection.cc.
References b, DebugLevel, Disconnect(), fServer, fSocket, XrdClientUrlInfo::Host, i, Info, XrdClientSock::IsConnected(), IsValid(), XrdClientDebug::kDUMPDEBUG, XrdClientDebug::kHIDEBUG, XrdClientDebug::kUSERDEBUG, XrdClientUrlInfo::Port, XrdClientSock::RecvRaw(), s, sprintf(), TXSOCK_ERR, TXSOCK_ERR_TIMEOUT, and xrdmin.
Referenced by XrdClientMStream::BindPendingStream(), DoHandShake(), XrdProofPhyConn::ReadRaw(), XrdClientLogConnection::ReadRaw(), and XrdClientMessage::ReadRaw().
XrdClientMessage * XrdClientPhyConnection::ReadMessage | ( | int | streamid | ) |
Definition at line 415 of file XrdClientPhyConnection.cc.
References fMsgQ, fRequestTimeout, XrdClientInputBuffer::GetMsg(), and Touch().
Referenced by XrdClientConnectionMgr::ReadMsg(), and XrdProofPhyConn::ReadMsg().
bool XrdClientPhyConnection::ReConnect | ( | XrdClientUrlInfo | RemoteHost | ) |
void XrdClientPhyConnection::SetLogged | ( | ELoginState | status | ) | [inline] |
Definition at line 139 of file XrdClientPhyConnection.hh.
References fLogged.
Referenced by XrdProofConn::Login(), and XrdClientPhyConnection().
void XrdClientPhyConnection::SetTTL | ( | long | ttl | ) | [inline] |
Definition at line 140 of file XrdClientPhyConnection.hh.
References fTTLsec.
Referenced by XrdClientConn::GetAccessToSrv().
void XrdClientPhyConnection::StartReader | ( | ) |
Definition at line 197 of file XrdClientPhyConnection.cc.
References Error, fMutex, fReaderCV, fReaderthreadhandler, fReaderthreadrunning, fServerType, i, Info, XrdClientDebug::kHIDEBUG, kSTBaseXrootd, l, READERCOUNT, Run, SocketReaderThread(), and XrdSysSemWait::Wait().
Referenced by XrdProofPhyConn::GetAccessToSrv(), XrdProofConn::GetAccessToSrv(), and XrdClientConn::GetAccessToSrv().
void XrdClientPhyConnection::Touch | ( | ) |
Definition at line 328 of file XrdClientPhyConnection.cc.
References fLastUseTimestamp, fMutex, l, and t.
Referenced by BuildMessage(), Connect(), XrdClientConnectionMgr::Connect(), HandleUnsolicited(), ReadMessage(), WriteRaw(), and XrdClientPhyConnection().
void XrdClientPhyConnection::UnlockChannel | ( | ) |
Definition at line 673 of file XrdClientPhyConnection.cc.
References fRwMutex, and XrdSysMutex::UnLock().
Referenced by CheckAutoTerm(), ~XrdClientPhyConnection(), and XrdClientPhyConnLocker::~XrdClientPhyConnLocker().
int XrdClientPhyConnection::WriteRaw | ( | const void * | buffer, | |
int | BufferLength, | |||
int | substreamid = 0 | |||
) |
Definition at line 605 of file XrdClientPhyConnection.cc.
References Disconnect(), fServer, fSocket, XrdClientUrlInfo::Host, Info, XrdClientSock::IsConnected(), IsValid(), XrdClientDebug::kDUMPDEBUG, XrdClientDebug::kHIDEBUG, XrdClientDebug::kUSERDEBUG, XrdClientUrlInfo::Port, XrdClientSock::SendRaw(), Touch(), TXSOCK_ERR, and TXSOCK_ERR_TIMEOUT.
Referenced by XrdClientMStream::BindPendingStream(), DoHandShake(), XrdClientLogConnection::WriteRaw(), and XrdProofPhyConn::WriteRaw().
int XrdClientPhyConnection::TryConnectParallelStream | ( | int | port, | |
int | windowsz, | |||
int | sockid | |||
) | [inline] |
Definition at line 146 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::TryConnectParallelSock().
Referenced by XrdClientMStream::AddParallelStream().
int XrdClientPhyConnection::EstablishPendingParallelStream | ( | int | tmpid, | |
int | newid | |||
) | [inline] |
Definition at line 147 of file XrdClientPhyConnection.hh.
References XrdClientSock::EstablishParallelSock(), and fSocket.
Referenced by XrdClientMStream::AddParallelStream().
void XrdClientPhyConnection::RemoveParallelStream | ( | int | substreamid | ) | [inline] |
Definition at line 148 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::RemoveParallelSock().
Referenced by XrdClientMStream::RemoveParallelStream().
bool XrdClientPhyConnection::TestAndSetMStreamsGoing | ( | ) |
Definition at line 804 of file XrdClientPhyConnection.cc.
References fMStreamsGoing, fMutex, and retval.
Referenced by XrdClientMStream::EstablishParallelStreams().
int XrdClientPhyConnection::GetSockIdHint | ( | int | reqsperstream | ) | [inline] |
Definition at line 153 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::GetSockIdHint().
Referenced by XrdClientConn::GetParallelStreamToUse().
int XrdClientPhyConnection::GetSockIdCount | ( | ) | [inline] |
Definition at line 154 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::GetSockIdCount().
Referenced by XrdClientMStream::AddParallelStream(), and XrdClientConn::GetParallelStreamCount().
void XrdClientPhyConnection::PauseSelectOnSubstream | ( | int | substreamid | ) | [inline] |
Definition at line 155 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::PauseSelectOnSubstream().
Referenced by XrdClientMessage::ReadRaw().
void XrdClientPhyConnection::RestartSelectOnSubstream | ( | int | substreamid | ) | [inline] |
Definition at line 156 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::RestartSelectOnSubstream().
Referenced by XrdClientMessage::ReadRaw().
virtual void XrdClientPhyConnection::BanSockDescr | ( | int | sockdescr, | |
int | sockid | |||
) | [inline, virtual] |
Definition at line 159 of file XrdClientPhyConnection.hh.
References XrdClientSock::BanSockDescr(), and fSocket.
virtual void XrdClientPhyConnection::UnBanSockDescr | ( | int | sockdescr | ) | [inline, virtual] |
Definition at line 160 of file XrdClientPhyConnection.hh.
References fSocket, and XrdClientSock::UnBanSockDescr().
Referenced by XrdClientMStream::AddParallelStream().
void XrdClientPhyConnection::ReadLock | ( | ) | [inline] |
Definition at line 162 of file XrdClientPhyConnection.hh.
References fMultireadMutex, and XrdSysMutex::Lock().
Referenced by XrdClientMessage::ReadRaw().
void XrdClientPhyConnection::ReadUnLock | ( | ) | [inline] |
Definition at line 163 of file XrdClientPhyConnection.hh.
References fMultireadMutex, and XrdSysMutex::UnLock().
Referenced by XrdClientMessage::ReadRaw().
int XrdClientPhyConnection::WipeStreamid | ( | int | streamid | ) | [inline] |
Definition at line 165 of file XrdClientPhyConnection.hh.
References fMsgQ, and XrdClientInputBuffer::WipeStreamid().
Referenced by XrdClientConnectionMgr::Connect().
time_t XrdClientPhyConnection::fLastUseTimestamp [private] |
enum ELoginState XrdClientPhyConnection::fLogged [private] |
Definition at line 51 of file XrdClientPhyConnection.hh.
Referenced by GetSecProtocol(), SetSecProtocol(), XrdClientPhyConnection(), and ~XrdClientPhyConnection().
Definition at line 54 of file XrdClientPhyConnection.hh.
Referenced by BuildMessage(), ReadMessage(), and WipeStreamid().
int XrdClientPhyConnection::fRequestTimeout [private] |
Definition at line 56 of file XrdClientPhyConnection.hh.
Referenced by ReadMessage(), and XrdClientPhyConnection().
bool XrdClientPhyConnection::fMStreamsGoing [private] |
Definition at line 58 of file XrdClientPhyConnection.hh.
Referenced by LockChannel(), and UnlockChannel().
XrdSysRecMutex XrdClientPhyConnection::fMutex [private] |
Definition at line 61 of file XrdClientPhyConnection.hh.
Referenced by CheckAutoTerm(), Connect(), CountLogConn(), Disconnect(), GetReaderThreadsCnt(), IsLogged(), IsValid(), StartedReader(), StartReader(), TestAndSetMStreamsGoing(), and Touch().
Definition at line 62 of file XrdClientPhyConnection.hh.
Referenced by ReadLock(), and ReadUnLock().
XrdClientThread* XrdClientPhyConnection::fReaderthreadhandler[64] [private] |
Definition at line 65 of file XrdClientPhyConnection.hh.
Referenced by StartReader(), XrdClientPhyConnection(), and ~XrdClientPhyConnection().
int XrdClientPhyConnection::fReaderthreadrunning [private] |
Definition at line 68 of file XrdClientPhyConnection.hh.
Referenced by CheckAutoTerm(), Connect(), GetReaderThreadsCnt(), StartedReader(), StartReader(), XrdClientPhyConnection(), and ~XrdClientPhyConnection().
Definition at line 70 of file XrdClientPhyConnection.hh.
Referenced by Connect(), HandleUnsolicited(), IsAddress(), IsPort(), IsUser(), ReadRaw(), WriteRaw(), XrdClientPhyConnection(), and ~XrdClientPhyConnection().
XrdClientSock* XrdClientPhyConnection::fSocket [private] |
Definition at line 72 of file XrdClientPhyConnection.hh.
Referenced by BanSockDescr(), Connect(), Disconnect(), EstablishPendingParallelStream(), GetSocket(), GetSockIdCount(), GetSockIdHint(), IsValid(), PauseSelectOnSubstream(), ReadRaw(), ReinitFDTable(), RemoveParallelStream(), RestartSelectOnSubstream(), SaveSocket(), SetInterrupt(), TryConnectParallelStream(), UnBanSockDescr(), WriteRaw(), and ~XrdClientPhyConnection().
Definition at line 76 of file XrdClientPhyConnection.hh.
Referenced by StartedReader(), and StartReader().
short XrdClientPhyConnection::fLogConnCnt [private] |
Definition at line 78 of file XrdClientPhyConnection.hh.
Referenced by CountLogConn(), and GetLogConnCnt().
XrdClientSid* XrdClientPhyConnection::fSidManager [private] |
Definition at line 83 of file XrdClientPhyConnection.hh.
Referenced by XrdProofConn::DoHandShake(), and XrdProofConn::TryConnect().
Definition at line 84 of file XrdClientPhyConnection.hh.
Referenced by XrdProofConn::DoHandShake(), DoHandShake(), XrdProofPhyConn::GetAccessToSrv(), XrdProofConn::GetAccessToSrv(), StartReader(), and XrdClientPhyConnection().
Definition at line 85 of file XrdClientPhyConnection.hh.
Referenced by Connect(), ExpiredTTL(), GetTTL(), SaveSocket(), SetTTL(), and XrdClientPhyConnection().