|
xrootd
|
#include <XrdClientPhyConnection.hh>


| XrdClientPhyConnection::XrdClientPhyConnection | ( | XrdClientAbsUnsolMsgHandler * | h, |
| XrdClientSid * | sid | ||
| ) |
| XrdClientPhyConnection::~XrdClientPhyConnection | ( | ) |
| virtual void XrdClientPhyConnection::BanSockDescr | ( | int | sockdescr, |
| int | sockid | ||
| ) | [inline, virtual] |
References fSocket, and XrdClientSock::BanSockDescr().
| XrdClientMessage * XrdClientPhyConnection::BuildMessage | ( | bool | IgnoreTimeouts, |
| bool | Enqueue | ||
| ) |
References kUNSOL_KEEP, Error, XrdClientMessage::ReadRaw(), fSidManager, XrdClientSid::GetSidInfo(), XrdClientMessage::HeaderSID(), XrdClientMessage::IsAttn(), XrdClientMessage::GetStatusCode(), Info, XrdClientDebug::kDUMPDEBUG, Touch(), HandleUnsolicited(), fMsgQ, XrdClientInputBuffer::PutMsg(), XrdClientMessage::HeaderStatus(), kXR_oksofar, and XrdClientSid::ReleaseSid().
Referenced by SocketReaderThread().
| bool XrdClientPhyConnection::CheckAutoTerm | ( | ) |
References FALSE, fMutex, IsValid(), Info, XrdClientDebug::kHIDEBUG, fReaderthreadrunning, TRUE, and UnlockChannel().
Referenced by SocketReaderThread().
| bool XrdClientPhyConnection::Connect | ( | XrdClientUrlInfo | RemoteHost, |
| bool | isUnix = 0 |
||
| ) |
Referenced by XrdClientConnectionMgr::Connect(), and ReConnect().
| bool XrdClientPhyConnection::Connect | ( | XrdClientUrlInfo | RemoteHost, |
| bool | isUnix, | ||
| int | fd | ||
| ) |
Connect to a remote location
| RemoteHost | address descriptor |
| isUnix | true if the address points to a Unix socket |
| fd | a descriptor pointing to a connected socket if the subroutine is supposed to reuse an existing connection, -1 otherwise |
References fMutex, Info, XrdClientDebug::kHIDEBUG, XrdClientUrlInfo::File, XrdClientUrlInfo::Host, XrdClientUrlInfo::Port, EnvGetLong, NAME_MULTISTREAMCNT, fSocket, Error, XrdClientSock::TryConnect(), XrdClientSock::IsConnected(), Disconnect(), FALSE, Touch(), fTTLsec, NAME_DATASERVERCONN_TTL, fServer, fReaderthreadrunning, and TRUE.
| void XrdClientPhyConnection::CountLogConn | ( | int | d = 1 | ) |
References fMutex, XrdSysMutex::Lock(), fLogConnCnt, and XrdSysMutex::UnLock().
Referenced by XrdClientConnectionMgr::Connect(), and XrdClientLogConnection::~XrdClientLogConnection().
| void XrdClientPhyConnection::Disconnect | ( | ) |
References fMutex, fSocket, Info, XrdClientDebug::kHIDEBUG, and XrdClientSock::Disconnect().
Referenced by DisconnectElapsedPhyConn(), DestroyPhyConn(), ~XrdClientPhyConnection(), Connect(), ReConnect(), ReadRaw(), HandleUnsolicited(), and WriteRaw().
| ERemoteServerType XrdClientPhyConnection::DoHandShake | ( | ServerInitHandShake & | xbody, |
| int | substreamid = 0 |
||
| ) |
References ConnectionManager, kSTError, XrdClientLogConnection::GetPhyConnection(), IsValid(), fServerType, kSTNone, DoHandShake(), XrdClientConn::fServerProto, fServerProto, kSTBaseXrootd, XrdClientConn::fLBSUrl, XrdClientConn::fLBSIsMeta, Info, XrdClientDebug::kHIDEBUG, XrdClientConn::fUrl, XrdClientUrlInfo::GetUrl(), kSTMetaXrootd, and XrdClientConn::fMetaUrl.
Referenced by DoHandShake(), and XrdClientMStream::AddParallelStream().
| int XrdClientPhyConnection::EstablishPendingParallelStream | ( | int | tmpid, |
| int | newid | ||
| ) | [inline] |
References fSocket, and XrdClientSock::EstablishParallelSock().
Referenced by XrdClientMStream::AddParallelStream().
| bool XrdClientPhyConnection::ExpiredTTL | ( | ) |
References fLastUseTimestamp, and fTTLsec.
Referenced by DisconnectElapsedPhyConn().
| short XrdClientPhyConnection::GetLogConnCnt | ( | ) | const [inline] |
References fLogConnCnt.
Referenced by DisconnectElapsedPhyConn(), and DumpPhyConn().
| int XrdClientPhyConnection::GetReaderThreadsCnt | ( | ) | [inline] |
References fMutex, and fReaderthreadrunning.
| XrdSecProtocol* XrdClientPhyConnection::GetSecProtocol | ( | ) | const [inline] |
References fSecProtocol.
| int XrdClientPhyConnection::GetSocket | ( | ) | [inline] |
References fSocket, and XrdClientSock::fSocket.
Referenced by XrdClientConn::DoLogin().
| int XrdClientPhyConnection::GetSockIdCount | ( | ) | [inline] |
References fSocket, and XrdClientSock::GetSockIdCount().
Referenced by XrdClientConn::GetParallelStreamCount(), and XrdClientMStream::AddParallelStream().
| int XrdClientPhyConnection::GetSockIdHint | ( | int | reqsperstream | ) | [inline] |
References fSocket, and XrdClientSock::GetSockIdHint().
Referenced by XrdClientConn::GetParallelStreamToUse().
| long XrdClientPhyConnection::GetTTL | ( | ) | [inline] |
References fTTLsec.
| UnsolRespProcResult XrdClientPhyConnection::HandleUnsolicited | ( | XrdClientMessage * | m | ) | [private] |
References TRUE, Touch(), XrdClientMessage::GetData(), XrdClientMessage::IsAttn(), ServerResponseBody_Attn::actnum, kXR_asyncms, Info, XrdClientDebug::kNODEBUG, fServer, XrdClientUrlInfo::Host, XrdClientUrlInfo::Port, ServerResponseBody_Attn::parms, FALSE, kXR_asyncab, XrdClientUnsolMsgSender::SendUnsolicitedMsg(), kXR_asyncrd, Disconnect(), kXR_asyncdi, and kUNSOL_CONTINUE.
Referenced by BuildMessage().
| bool XrdClientPhyConnection::IsAddress | ( | const XrdOucString & | addr | ) | [inline] |
References fServer, XrdClientUrlInfo::Host, and XrdClientUrlInfo::HostAddr.
| ELoginState XrdClientPhyConnection::IsLogged | ( | ) |
References fMutex, and fLogged.
Referenced by XrdClientConn::GetAccessToSrv().
| bool XrdClientPhyConnection::IsPort | ( | int | port | ) | [inline] |
References fServer, and XrdClientUrlInfo::Port.
| bool XrdClientPhyConnection::IsUser | ( | const XrdOucString & | usr | ) | [inline] |
References fServer, and XrdClientUrlInfo::User.
| bool XrdClientPhyConnection::IsValid | ( | ) |
References fMutex, fSocket, and XrdClientSock::IsConnected().
Referenced by XrdClientConn::GetAccessToSrv(), DoHandShake(), XrdClientConn::IsPhyConnConnected(), DisconnectElapsedPhyConn(), DumpPhyConn(), XrdClientConnectionMgr::Connect(), XrdClientConnectionMgr::GetPhyConnection(), XrdClientMStream::AddParallelStream(), CheckAutoTerm(), ReadRaw(), and WriteRaw().
| void XrdClientPhyConnection::LockChannel | ( | ) |
References fRwMutex, and XrdSysMutex::Lock().
Referenced by XrdClientPhyConnLocker::XrdClientPhyConnLocker().
| void XrdClientPhyConnection::PauseSelectOnSubstream | ( | int | substreamid | ) | [inline] |
References fSocket, and XrdClientSock::PauseSelectOnSubstream().
Referenced by XrdClientMessage::ReadRaw().
| void XrdClientPhyConnection::ReadLock | ( | ) | [inline] |
References fMultireadMutex, and XrdSysMutex::Lock().
Referenced by XrdClientMessage::ReadRaw().
| XrdClientMessage * XrdClientPhyConnection::ReadMessage | ( | int | streamid | ) |
References Touch(), fMsgQ, XrdClientInputBuffer::GetMsg(), and fRequestTimeout.
Referenced by XrdClientConnectionMgr::ReadMsg().
| int XrdClientPhyConnection::ReadRaw | ( | void * | buffer, |
| int | BufferLength, | ||
| int | substreamid = -1, |
||
| int * | usedsubstreamid = 0 |
||
| ) |
References IsValid(), Info, XrdClientDebug::kDUMPDEBUG, fServer, XrdClientUrlInfo::Host, XrdClientUrlInfo::Port, fSocket, XrdClientSock::RecvRaw(), TXSOCK_ERR_TIMEOUT, XrdClientDebug::kHIDEBUG, TXSOCK_ERR, XrdClientSock::IsConnected(), Disconnect(), DebugLevel, xrdmin, and XrdClientDebug::kUSERDEBUG.
Referenced by XrdClientLogConnection::ReadRaw(), XrdClientMessage::ReadRaw(), and XrdClientMStream::BindPendingStream().
| void XrdClientPhyConnection::ReadUnLock | ( | ) | [inline] |
References fMultireadMutex, and XrdSysMutex::UnLock().
Referenced by XrdClientMessage::ReadRaw().
| bool XrdClientPhyConnection::ReConnect | ( | XrdClientUrlInfo | RemoteHost | ) |
References Disconnect(), and Connect().
| void XrdClientPhyConnection::ReinitFDTable | ( | ) | [inline] |
References fSocket, and XrdClientSock::ReinitFDTable().
Referenced by XrdClientMStream::AddParallelStream().
| void XrdClientPhyConnection::RemoveParallelStream | ( | int | substreamid | ) | [inline] |
References fSocket, and XrdClientSock::RemoveParallelSock().
Referenced by XrdClientMStream::RemoveParallelStream().
| void XrdClientPhyConnection::RestartSelectOnSubstream | ( | int | substreamid | ) | [inline] |
References fSocket, and XrdClientSock::RestartSelectOnSubstream().
Referenced by XrdClientMessage::ReadRaw().
| int XrdClientPhyConnection::SaveSocket | ( | ) | [inline] |
References fTTLsec, fSocket, and XrdClientSock::SaveSocket().
Referenced by XrdClientConn::GetAccessToSrv().
| void XrdClientPhyConnection::SetInterrupt | ( | ) | [inline] |
References fSocket, and XrdClientSock::SetInterrupt().
| void XrdClientPhyConnection::SetLogged | ( | ELoginState | status | ) | [inline] |
References fLogged.
Referenced by XrdClientConn::DoLogin(), and XrdClientPhyConnection().
| void XrdClientPhyConnection::SetSecProtocol | ( | XrdSecProtocol * | sp | ) | [inline] |
References fSecProtocol.
Referenced by XrdClientConn::DoLogin().
| void XrdClientPhyConnection::SetTTL | ( | long | ttl | ) | [inline] |
References fTTLsec.
Referenced by XrdClientConn::GetAccessToSrv().
| void XrdClientPhyConnection::StartedReader | ( | ) |
References fMutex, fReaderthreadrunning, fReaderCV, and XrdSysSemWait::Post().
Referenced by SocketReaderThread().
| void XrdClientPhyConnection::StartReader | ( | ) |
References fMutex, fReaderthreadrunning, Info, XrdClientDebug::kHIDEBUG, READERCOUNT, fServerType, kSTBaseXrootd, fReaderthreadhandler, SocketReaderThread(), Error, fReaderCV, and XrdSysSemWait::Wait().
Referenced by XrdClientConn::GetAccessToSrv().
| bool XrdClientPhyConnection::TestAndSetMStreamsGoing | ( | ) |
References fMutex, and fMStreamsGoing.
Referenced by XrdClientMStream::EstablishParallelStreams().
| void XrdClientPhyConnection::Touch | ( | ) |
References fMutex, and fLastUseTimestamp.
Referenced by DisconnectElapsedPhyConn(), DestroyPhyConn(), XrdClientConnectionMgr::Connect(), XrdClientPhyConnection(), Connect(), ReadMessage(), BuildMessage(), HandleUnsolicited(), and WriteRaw().
| int XrdClientPhyConnection::TryConnectParallelStream | ( | int | port, |
| int | windowsz, | ||
| int | sockid | ||
| ) | [inline] |
References fSocket, and XrdClientSock::TryConnectParallelSock().
Referenced by XrdClientMStream::AddParallelStream().
| virtual void XrdClientPhyConnection::UnBanSockDescr | ( | int | sockdescr | ) | [inline, virtual] |
References fSocket, and XrdClientSock::UnBanSockDescr().
Referenced by XrdClientMStream::AddParallelStream().
| void XrdClientPhyConnection::UnlockChannel | ( | ) |
References fRwMutex, and XrdSysMutex::UnLock().
Referenced by ~XrdClientPhyConnection(), CheckAutoTerm(), and XrdClientPhyConnLocker::~XrdClientPhyConnLocker().
| int XrdClientPhyConnection::WipeStreamid | ( | int | streamid | ) | [inline] |
References fMsgQ, and XrdClientInputBuffer::WipeStreamid().
Referenced by XrdClientConnectionMgr::Connect().
| int XrdClientPhyConnection::WriteRaw | ( | const void * | buffer, |
| int | BufferLength, | ||
| int | substreamid = 0 |
||
| ) |
References Touch(), IsValid(), Info, XrdClientDebug::kDUMPDEBUG, fSocket, XrdClientSock::SendRaw(), TXSOCK_ERR_TIMEOUT, XrdClientDebug::kHIDEBUG, fServer, XrdClientUrlInfo::Host, XrdClientUrlInfo::Port, XrdClientSock::IsConnected(), Disconnect(), XrdClientDebug::kUSERDEBUG, and TXSOCK_ERR.
Referenced by XrdClientLogConnection::WriteRaw(), and XrdClientMStream::BindPendingStream().
time_t XrdClientPhyConnection::fLastUseTimestamp [private] |
Referenced by Touch(), and ExpiredTTL().
short XrdClientPhyConnection::fLogConnCnt [private] |
Referenced by CountLogConn(), and GetLogConnCnt().
enum ELoginState XrdClientPhyConnection::fLogged [private] |
Referenced by IsLogged(), and SetLogged().
Referenced by ReadMessage(), BuildMessage(), and WipeStreamid().
bool XrdClientPhyConnection::fMStreamsGoing [private] |
Referenced by TestAndSetMStreamsGoing().
Referenced by ReadLock(), and ReadUnLock().
XrdSysRecMutex XrdClientPhyConnection::fMutex [private] |
Referenced by Connect(), StartReader(), StartedReader(), Disconnect(), CheckAutoTerm(), Touch(), CountLogConn(), TestAndSetMStreamsGoing(), IsValid(), IsLogged(), and GetReaderThreadsCnt().
Referenced by StartReader(), and StartedReader().
XrdClientThread* XrdClientPhyConnection::fReaderthreadhandler[64] [private] |
Referenced by XrdClientPhyConnection(), ~XrdClientPhyConnection(), and StartReader().
int XrdClientPhyConnection::fReaderthreadrunning [private] |
Referenced by XrdClientPhyConnection(), Connect(), StartReader(), StartedReader(), CheckAutoTerm(), and GetReaderThreadsCnt().
int XrdClientPhyConnection::fRequestTimeout [private] |
Referenced by XrdClientPhyConnection(), and ReadMessage().
Referenced by LockChannel(), and UnlockChannel().
Referenced by XrdClientPhyConnection(), ~XrdClientPhyConnection(), GetSecProtocol(), and SetSecProtocol().
Referenced by XrdClientPhyConnection(), ~XrdClientPhyConnection(), Connect(), ReadRaw(), HandleUnsolicited(), WriteRaw(), IsAddress(), IsPort(), and IsUser().
Referenced by DoHandShake().
Referenced by DoHandShake(), XrdClientPhyConnection(), and StartReader().
XrdClientSid* XrdClientPhyConnection::fSidManager [private] |
Referenced by BuildMessage().
XrdClientSock* XrdClientPhyConnection::fSocket [private] |
Referenced by ~XrdClientPhyConnection(), Connect(), Disconnect(), ReadRaw(), WriteRaw(), IsValid(), GetSocket(), ReinitFDTable(), SaveSocket(), SetInterrupt(), TryConnectParallelStream(), EstablishPendingParallelStream(), RemoveParallelStream(), GetSockIdHint(), GetSockIdCount(), PauseSelectOnSubstream(), RestartSelectOnSubstream(), BanSockDescr(), and UnBanSockDescr().
Referenced by XrdClientPhyConnection(), Connect(), ExpiredTTL(), GetTTL(), SaveSocket(), and SetTTL().
1.7.5