XrdClientPSock Class Reference

#include <XrdClientPSock.hh>

Inheritance diagram for XrdClientPSock:

XrdClientSock List of all members.

Public Member Functions

 XrdClientPSock (XrdClientUrlInfo host, int windowsize=0)
virtual ~XrdClientPSock ()
void BanSockDescr (Sockdescr s, Sockid newid)
void UnBanSockDescr (Sockdescr s)
virtual int RecvRaw (void *buffer, int length, Sockid substreamid=-1, Sockid *usedsubstreamid=0)
virtual int SendRaw (const void *buffer, int length, Sockid substreamid=0)
virtual void TryConnect (bool isUnix=0)
virtual Sockdescr TryConnectParallelSock (int port, int windowsz, Sockid &tmpid)
virtual int EstablishParallelSock (Sockid tmpsockid, Sockid newsockid)
virtual void Disconnect ()
virtual int RemoveParallelSock (Sockid sockid)
virtual Sockid GetSockIdHint (int reqsperstream)
virtual int GetSockIdCount ()
virtual void PauseSelectOnSubstream (Sockid substreamid)
virtual void RestartSelectOnSubstream (Sockid substreamid)

Protected Member Functions

virtual int SaveSocket ()

Private Member Functions

Sockdescr GetSock (Sockid id)
Sockdescr GetMainSock ()
Sockid GetSockId (Sockdescr sock)

Private Attributes

XrdSysRecMutex fMutex
fdinfo globalfdinfo
Sockid lastsidhint
XrdClientVector< SockidfSocketIdRepo
XrdOucRash< Sockid, SockdescrfSocketPool
XrdOucRash< Sockdescr, SockidfSocketNYHandshakedIdPool
XrdOucRash< Sockdescr, SockidfSocketIdPool

Friends

class XrdClientPhyConnection

Detailed Description

Definition at line 30 of file XrdClientPSock.hh.


Constructor & Destructor Documentation

XrdClientPSock::XrdClientPSock ( XrdClientUrlInfo  host,
int  windowsize = 0 
)

Definition at line 38 of file XrdClientPSock.cc.

References XrdClientSock::fReinit_fd, and lastsidhint.

XrdClientPSock::~XrdClientPSock (  )  [virtual]

Definition at line 47 of file XrdClientPSock.cc.

References Disconnect().


Member Function Documentation

Sockdescr XrdClientPSock::GetSock ( Sockid  id  )  [inline, private]

Definition at line 56 of file XrdClientPSock.hh.

References XrdOucRash< K, V >::Find(), fMutex, and fSocketPool.

Referenced by EstablishParallelSock(), and GetMainSock().

Sockdescr XrdClientPSock::GetMainSock (  )  [inline, private]

Definition at line 64 of file XrdClientPSock.hh.

References GetSock().

Referenced by TryConnect().

Sockid XrdClientPSock::GetSockId ( Sockdescr  sock  )  [inline, private]

Definition at line 72 of file XrdClientPSock.hh.

References XrdOucRash< K, V >::Find(), fMutex, and fSocketIdPool.

virtual int XrdClientPSock::SaveSocket (  )  [inline, protected, virtual]

Reimplemented from XrdClientSock.

Definition at line 82 of file XrdClientPSock.hh.

References XrdOucRash< K, V >::Del(), XrdClientSock::fConnected, XrdOucRash< K, V >::Find(), fMutex, XrdClientSock::fRDInterrupt, fSocketIdPool, fSocketPool, and XrdClientSock::fWRInterrupt.

void XrdClientPSock::BanSockDescr ( Sockdescr  s,
Sockid  newid 
) [inline]

Definition at line 103 of file XrdClientPSock.hh.

References fMutex, fSocketNYHandshakedIdPool, and XrdOucRash< K, V >::Rep().

Referenced by TryConnectParallelSock().

void XrdClientPSock::UnBanSockDescr ( Sockdescr  s  )  [inline]

Definition at line 104 of file XrdClientPSock.hh.

References XrdOucRash< K, V >::Del(), fMutex, and fSocketNYHandshakedIdPool.

virtual int XrdClientPSock::RecvRaw ( void *  buffer,
int  length,
Sockid  substreamid = -1,
Sockid usedsubstreamid = 0 
) [virtual]

virtual int XrdClientPSock::SendRaw ( const void *  buffer,
int  length,
Sockid  substreamid = 0 
) [virtual]

void XrdClientPSock::TryConnect ( bool  isUnix = 0  )  [virtual]

Reimplemented from XrdClientSock.

Definition at line 314 of file XrdClientPSock.cc.

References XrdClientSock::fConnected, fMutex, fSocketIdPool, fSocketPool, GetMainSock(), XrdOucRash< K, V >::Rep(), s, and XrdClientSock::TryConnect_low().

XrdClientSock::Sockdescr XrdClientPSock::TryConnectParallelSock ( int  port,
int  windowsz,
Sockid tmpid 
) [virtual]

Definition at line 335 of file XrdClientPSock.cc.

References BanSockDescr(), fMutex, fSocketIdPool, fSocketPool, XrdOucRash< K, V >::Rep(), s, and XrdClientSock::TryConnect_low().

int XrdClientPSock::EstablishParallelSock ( Sockid  tmpsockid,
Sockid  newsockid 
) [virtual]

Definition at line 377 of file XrdClientPSock.cc.

References XrdOucRash< K, V >::Del(), fMutex, fSocketIdPool, fSocketIdRepo, fSocketPool, GetSock(), Info, XrdClientDebug::kUSERDEBUG, XrdClientVector< T >::Push_back(), and XrdOucRash< K, V >::Rep().

void XrdClientPSock::Disconnect (  )  [virtual]

Reimplemented from XrdClientSock.

Definition at line 61 of file XrdClientPSock.cc.

References XrdOucRash< K, V >::Apply(), XrdClientVector< T >::Clear(), CloseSockFunc(), FALSE, XrdClientSock::fConnected, fMutex, fSocketIdPool, fSocketIdRepo, fSocketPool, and XrdOucRash< K, V >::Purge().

Referenced by ~XrdClientPSock().

virtual int XrdClientPSock::RemoveParallelSock ( Sockid  sockid  )  [virtual]

int XrdClientPSock::GetSockIdHint ( int  reqsperstream  )  [virtual]

Reimplemented from XrdClientSock.

Definition at line 400 of file XrdClientPSock.cc.

References fMutex, fSocketIdRepo, XrdClientVector< T >::GetSize(), and lastsidhint.

virtual int XrdClientPSock::GetSockIdCount (  )  [inline, virtual]

Reimplemented from XrdClientSock.

Definition at line 131 of file XrdClientPSock.hh.

References fMutex, fSocketPool, and XrdOucRash< K, V >::Num().

virtual void XrdClientPSock::PauseSelectOnSubstream ( Sockid  substreamid  )  [virtual]

virtual void XrdClientPSock::RestartSelectOnSubstream ( Sockid  substreamid  )  [virtual]


Friends And Related Function Documentation

friend class XrdClientPhyConnection [friend]

Reimplemented from XrdClientSock.

Definition at line 32 of file XrdClientPSock.hh.


Member Data Documentation

XrdSysRecMutex XrdClientPSock::fMutex [private]

Definition at line 37 of file XrdClientPSock.hh.

Referenced by BanSockDescr(), Disconnect(), EstablishParallelSock(), GetSock(), GetSockId(), GetSockIdCount(), GetSockIdHint(), SaveSocket(), TryConnect(), TryConnectParallelSock(), and UnBanSockDescr().

fdinfo XrdClientPSock::globalfdinfo [private]

Definition at line 40 of file XrdClientPSock.hh.

Sockid XrdClientPSock::lastsidhint [private]

Definition at line 42 of file XrdClientPSock.hh.

Referenced by GetSockIdHint(), and XrdClientPSock().

XrdClientVector<Sockid> XrdClientPSock::fSocketIdRepo [private]

Definition at line 46 of file XrdClientPSock.hh.

Referenced by Disconnect(), EstablishParallelSock(), and GetSockIdHint().

XrdOucRash<Sockid, Sockdescr> XrdClientPSock::fSocketPool [private]

Definition at line 49 of file XrdClientPSock.hh.

Referenced by Disconnect(), EstablishParallelSock(), GetSock(), GetSockIdCount(), SaveSocket(), TryConnect(), and TryConnectParallelSock().

XrdOucRash<Sockdescr, Sockid> XrdClientPSock::fSocketNYHandshakedIdPool [private]

Definition at line 54 of file XrdClientPSock.hh.

Referenced by BanSockDescr(), and UnBanSockDescr().

XrdOucRash<Sockdescr, Sockid> XrdClientPSock::fSocketIdPool [private]

Definition at line 69 of file XrdClientPSock.hh.

Referenced by Disconnect(), EstablishParallelSock(), GetSockId(), SaveSocket(), TryConnect(), and TryConnectParallelSock().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:18 2011 for ROOT_528-00b_version by  doxygen 1.5.1