#include <XrdSsiServReal.hh>
Public Member Functions | |
| XrdSsiServReal (const char *contact, int hObj) | |
| ~XrdSsiServReal () | |
| 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) |
| Public Member Functions inherited from XrdSsiService | |
| XrdSsiService () | |
| Constructor. | |
| virtual bool | Attach (XrdSsiErrInfo &eInfo, const std::string &handle, XrdSsiRequest &reqRef, XrdSsiResource *resP=0) |
| Attach to a backgrounded request. | |
| int | GetVersion () |
| virtual bool | Prepare (XrdSsiErrInfo &eInfo, const XrdSsiResource &rDesc) |
| Prepare for processing subsequent resource request. | |
Additional Inherited Members | |
| Static Public Attributes inherited from XrdSsiService | |
| static const int | SsiVersion = 0x00020000 |
| Protected Member Functions inherited from XrdSsiService | |
| virtual | ~XrdSsiService () |
| Destructor. The service object cannot be explicitly deleted. Use Stop(). | |
Definition at line 41 of file XrdSsiServReal.hh.
|
inline |
Definition at line 53 of file XrdSsiServReal.hh.
| XrdSsiServReal::~XrdSsiServReal | ( | ) |
Definition at line 61 of file XrdSsiServReal.cc.
References XrdSsiSessReal::nextSess.
|
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.
| 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. |
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.
Definition at line 170 of file XrdSsiServReal.cc.
References XrdSsiResource::Discard, ENOSR, XrdSysMutexHelper::Lock(), XrdSsiSessReal::Provision(), Recycle(), XrdSsiUtils::RetErr(), XrdSsiResource::Reusable, XrdSsiResource::rName, XrdSsiResource::rOpts, XrdSsiSessReal::SetKey(), and XrdSsi::sidScale.
| void XrdSsiServReal::Recycle | ( | XrdSsiSessReal * | sObj, |
| bool | reuse ) |
Definition at line 242 of file XrdSsiServReal.cc.
References XrdSsiEvent::ClrEvent(), DEBUG, EPNAME, XrdSsiSessReal::GetKey(), XrdSsiSessReal::GetSID(), XrdSsiSessReal::nextSess, StopReuse(), tident, and XrdSsiSessReal::UnLock().
Referenced by ProcessRequest().
|
virtual |
Stop the client-side service. This is never called server-side.
| 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. |
Reimplemented from XrdSsiService.
Definition at line 322 of file XrdSsiServReal.cc.
| void XrdSsiServReal::StopReuse | ( | const char * | resKey | ) |
Definition at line 342 of file XrdSsiServReal.cc.
References DEBUG, EPNAME, and tident.
Referenced by Recycle().