XrdClientPhyConnection Class Reference

#include <XrdClientPhyConnection.hh>

Inheritance diagram for XrdClientPhyConnection:

XrdClientUnsolMsgSender List of all members.

Public Member Functions

 XrdClientPhyConnection (XrdClientAbsUnsolMsgHandler *h, XrdClientSid *sid)
 ~XrdClientPhyConnection ()
XrdClientMessageBuildMessage (bool IgnoreTimeouts, bool Enqueue)
bool CheckAutoTerm ()
bool Connect (XrdClientUrlInfo RemoteHost, bool isUnix=0)
void CountLogConn (int d=1)
void Disconnect ()
ERemoteServerType DoHandShake (ServerInitHandShake &xbody, int substreamid=0)
bool ExpiredTTL ()
short GetLogConnCnt () const
int GetReaderThreadsCnt ()
long GetTTL ()
XrdSecProtocolGetSecProtocol () const
int GetSocket ()
void ReinitFDTable ()
int SaveSocket ()
void SetInterrupt ()
void SetSecProtocol (XrdSecProtocol *sp)
void StartedReader ()
bool IsAddress (const XrdOucString &addr)
ELoginState IsLogged ()
bool IsPort (int port)
bool IsUser (const XrdOucString &usr)
bool IsValid ()
void LockChannel ()
int ReadRaw (void *buffer, int BufferLength, int substreamid=-1, int *usedsubstreamid=0)
XrdClientMessageReadMessage (int streamid)
bool ReConnect (XrdClientUrlInfo RemoteHost)
void SetLogged (ELoginState status)
void SetTTL (long ttl)
void StartReader ()
void Touch ()
void UnlockChannel ()
int WriteRaw (const void *buffer, int BufferLength, int substreamid=0)
int TryConnectParallelStream (int port, int windowsz, int sockid)
int EstablishPendingParallelStream (int tmpid, int newid)
void RemoveParallelStream (int substreamid)
bool TestAndSetMStreamsGoing ()
int GetSockIdHint (int reqsperstream)
int GetSockIdCount ()
void PauseSelectOnSubstream (int substreamid)
void RestartSelectOnSubstream (int substreamid)
virtual void BanSockDescr (int sockdescr, int sockid)
virtual void UnBanSockDescr (int sockdescr)
void ReadLock ()
void ReadUnLock ()
int WipeStreamid (int streamid)

Public Attributes

long fServerProto
ERemoteServerType fServerType
long fTTLsec

Private Member Functions

UnsolRespProcResult HandleUnsolicited (XrdClientMessage *m)

Private Attributes

time_t fLastUseTimestamp
enum ELoginState fLogged
XrdSecProtocolfSecProtocol
XrdClientInputBuffer fMsgQ
int fRequestTimeout
bool fMStreamsGoing
XrdSysRecMutex fRwMutex
XrdSysRecMutex fMutex
XrdSysRecMutex fMultireadMutex
XrdClientThreadfReaderthreadhandler [64]
int fReaderthreadrunning
XrdClientUrlInfo fServer
XrdClientSockfSocket
XrdSysSemWait fReaderCV
short fLogConnCnt
XrdClientSidfSidManager

Detailed Description

Definition at line 46 of file XrdClientPhyConnection.hh.


Constructor & Destructor Documentation

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


Member Function Documentation

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]

Definition at line 102 of file XrdClientPhyConnection.hh.

References fLogConnCnt.

int XrdClientPhyConnection::GetReaderThreadsCnt (  )  [inline]

Definition at line 103 of file XrdClientPhyConnection.hh.

References fMutex, fReaderthreadrunning, and l.

long XrdClientPhyConnection::GetTTL (  )  [inline]

Definition at line 105 of file XrdClientPhyConnection.hh.

References fTTLsec.

XrdSecProtocol* XrdClientPhyConnection::GetSecProtocol (  )  const [inline]

Definition at line 107 of file XrdClientPhyConnection.hh.

References fSecProtocol.

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  ) 

Definition at line 264 of file XrdClientPhyConnection.cc.

References Connect(), and Disconnect().

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


Member Data Documentation

time_t XrdClientPhyConnection::fLastUseTimestamp [private]

Definition at line 49 of file XrdClientPhyConnection.hh.

Referenced by ExpiredTTL(), and Touch().

enum ELoginState XrdClientPhyConnection::fLogged [private]

Definition at line 50 of file XrdClientPhyConnection.hh.

Referenced by IsLogged(), and SetLogged().

XrdSecProtocol* XrdClientPhyConnection::fSecProtocol [private]

Definition at line 51 of file XrdClientPhyConnection.hh.

Referenced by GetSecProtocol(), SetSecProtocol(), XrdClientPhyConnection(), and ~XrdClientPhyConnection().

XrdClientInputBuffer XrdClientPhyConnection::fMsgQ [private]

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 57 of file XrdClientPhyConnection.hh.

Referenced by TestAndSetMStreamsGoing().

XrdSysRecMutex XrdClientPhyConnection::fRwMutex [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().

XrdSysRecMutex XrdClientPhyConnection::fMultireadMutex [private]

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

XrdClientUrlInfo XrdClientPhyConnection::fServer [private]

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

XrdSysSemWait XrdClientPhyConnection::fReaderCV [private]

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 80 of file XrdClientPhyConnection.hh.

Referenced by BuildMessage().

long XrdClientPhyConnection::fServerProto

Definition at line 83 of file XrdClientPhyConnection.hh.

Referenced by XrdProofConn::DoHandShake(), and XrdProofConn::TryConnect().

ERemoteServerType XrdClientPhyConnection::fServerType

Definition at line 84 of file XrdClientPhyConnection.hh.

Referenced by XrdProofConn::DoHandShake(), DoHandShake(), XrdProofPhyConn::GetAccessToSrv(), XrdProofConn::GetAccessToSrv(), StartReader(), and XrdClientPhyConnection().

long XrdClientPhyConnection::fTTLsec

Definition at line 85 of file XrdClientPhyConnection.hh.

Referenced by Connect(), ExpiredTTL(), GetTTL(), SaveSocket(), SetTTL(), and XrdClientPhyConnection().


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