XrdSsiServReal Class Reference

#include <XrdSsiServReal.hh>

Inheritance diagram for XrdSsiServReal:
Inheritance graph
[legend]
Collaboration diagram for XrdSsiServReal:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void ProcessRequest (XrdSsiRequest &reqRef, XrdSsiResource &resRef)
 Process a request; client-side or server-side.
void Recycle (XrdSsiSessReal *sObj, bool reuse)
bool Stop (bool immed=false)
 Stop the client-side service. This is never called server-side.
void StopReuse (const char *resKey)
 XrdSsiServReal (const char *contact, int hObj)
 ~XrdSsiServReal ()

Private Member Functions

XrdSsiSessRealAlloc (const char *sName, int uent, bool hold)
bool GenURL (XrdSsiResource *rP, char *buff, int blen, int uEnt)
bool ResReuse (XrdSsiRequest &reqRef, XrdSsiResource &resRef, std::string &resKey)

Private Attributes

std::map< std::string,
XrdSsiSessReal * > 
resCache
XrdSysMutex rcMutex
char * manNode
XrdSysMutex myMutex
XrdSsiSessRealfreeSes
int freeCnt
int freeMax
int actvSes
bool doStop

Constructor & Destructor Documentation

XrdSsiServReal::XrdSsiServReal ( const char *  contact,
int  hObj 
) [inline]
XrdSsiServReal::~XrdSsiServReal (  ) 

Member Function Documentation

XrdSsiSessReal* XrdSsiServReal::Alloc ( const char *  sName,
int  uent,
bool  hold 
) [private]
bool XrdSsiServReal::GenURL ( XrdSsiResource rP,
char *  buff,
int  blen,
int  uEnt 
) [private]
void XrdSsiServReal::ProcessRequest ( XrdSsiRequest reqRef,
XrdSsiResource resRef 
) [virtual]

Process a request; client-side or server-side.

When a client calls ProcessRequest() the same method is called server-side with the same parameters that the client specified except for timeOut which is always set to zero server-side.

Parameters:
reqRef Reference to the Request object that describes the request.
resRef Reference to the Resource object that describes the resource that the request will be using.
Returns:
All results are returned via the request object callback methods. For background queries, the XrdSsiRequest::ProcessResponse() is called with a response type of isHandle when the request is handed off to the endpoint for execution (see XrdSsiRequest::SetDetachTTL).

Implements XrdSsiService.

void XrdSsiServReal::Recycle ( XrdSsiSessReal sObj,
bool  reuse 
)
bool XrdSsiServReal::ResReuse ( XrdSsiRequest reqRef,
XrdSsiResource resRef,
std::string &  resKey 
) [private]
bool XrdSsiServReal::Stop ( bool  immed = false  )  [virtual]

Stop the client-side service. This is never called server-side.

Parameters:
immed When true, the service is only stopped if here are no active requests. Otherwise, after all requests have finished. the service object is deleted.
Returns:
true Service has been stopped. Once all requests have been completed, the service object will be deleted.
false Service cannot be stopped because there are still active foreground requests and the immed parameter was true.

Reimplemented from XrdSsiService.

void XrdSsiServReal::StopReuse ( const char *  resKey  ) 

Member Data Documentation

int XrdSsiServReal::actvSes [private]
bool XrdSsiServReal::doStop [private]
int XrdSsiServReal::freeCnt [private]
int XrdSsiServReal::freeMax [private]
char* XrdSsiServReal::manNode [private]
std::map<std::string, XrdSsiSessReal *> XrdSsiServReal::resCache [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 7 Jul 2020 for xrootd by  doxygen 1.6.1