XRootD
XrdSsiResource Class Reference

#include <XrdSsiResource.hh>

+ Inheritance diagram for XrdSsiResource:
+ Collaboration diagram for XrdSsiResource:

Public Types

enum  Affinity {
  Default ,
  None ,
  Weak ,
  Strong ,
  Strict
}
 

Public Member Functions

 XrdSsiResource (std::string rname, std::string havoid="", std::string ruser="", std::string rinfo="", uint32_t ropts=0, Affinity raff=Default)
 

Discard cached resource if it exists

More...
 
 ~XrdSsiResource ()
 Destructor. More...
 

Public Attributes

Affinity affinity
 Resource affinity. More...
 
XrdSsiEntityclient
 -> Pointer to client identification (server-side) More...
 
std::string hAvoid
 -> Comma separated list of hosts to avoid More...
 
std::string rInfo
 -> Additional information in CGI format More...
 
std::string rName
 -> Name of the resource to be used More...
 
uint32_t rOpts
 Resource options. One or more of he following: More...
 
std::string rUser
 -> Name of the resource user (nil if anonymous) More...
 

Static Public Attributes

static const uint32_t Discard = 2
 

Resource context may be cached and reused

More...
 
static const uint32_t Reusable = 1
 

Detailed Description

Definition at line 42 of file XrdSsiResource.hh.

Member Enumeration Documentation

◆ Affinity

Enumerator
Default 

Use configured affinity.

None 

Resource has no affinity, any endpoint will do.

Weak 

Use resource on same node if possible, don't wait.

Strong 

Use resource on same node even if wait required.

Strict 

Always use same node for resource no matter what.

Definition at line 52 of file XrdSsiResource.hh.

52  {Default,
53  None,
54  Weak,
55  Strong,
56  Strict
57  };
@ None
Resource has no affinity, any endpoint will do.
@ Strict
Always use same node for resource no matter what.
@ Weak
Use resource on same node if possible, don't wait.
@ Default
Use configured affinity.
@ Strong
Use resource on same node even if wait required.

Constructor & Destructor Documentation

◆ XrdSsiResource()

XrdSsiResource::XrdSsiResource ( std::string  rname,
std::string  havoid = "",
std::string  ruser = "",
std::string  rinfo = "",
uint32_t  ropts = 0,
Affinity  raff = Default 
)
inline

Discard cached resource if it exists

Constructor

Parameters
rnamethe name of the resource. If using directory notation (i.e. slash separated names); duplicate slashes and dot-slashes are compressed out.
havoidif not null then points to a comma separated list of hostnames to avoid when finding the resource. This argument is only meaningful client-side.
ruserthe name of the resource user. If nil the user is anonymous (unnamed). By default, all resources share the TCP connection to any endpoint. Different users have separate connections only if so requested vis the newConn option (see options above).
rinfoadditional information to be passed to the endpoint that that provides the resource. The string should be in cgi format (e.g. var=val&var2=val2&....).
raffresource affinity (see Affinity enum).
roptsresource handling options (see individual options)

Definition at line 92 of file XrdSsiResource.hh.

98  : rName(rname), rUser(ruser), rInfo(rinfo),
99  hAvoid(havoid), client(0), affinity(raff),
100  rOpts(ropts) {}
std::string rUser
-> Name of the resource user (nil if anonymous)
XrdSsiEntity * client
-> Pointer to client identification (server-side)
uint32_t rOpts
Resource options. One or more of he following:
Affinity affinity
Resource affinity.
std::string rInfo
-> Additional information in CGI format
std::string rName
-> Name of the resource to be used
std::string hAvoid
-> Comma separated list of hosts to avoid

◆ ~XrdSsiResource()

XrdSsiResource::~XrdSsiResource ( )
inline

Destructor.

Definition at line 106 of file XrdSsiResource.hh.

106 {}

Member Data Documentation

◆ affinity

Affinity XrdSsiResource::affinity

Resource affinity.

Definition at line 58 of file XrdSsiResource.hh.

◆ client

XrdSsiEntity* XrdSsiResource::client

-> Pointer to client identification (server-side)

Definition at line 50 of file XrdSsiResource.hh.

Referenced by XrdSsiFileResource::Init().

◆ Discard

const uint32_t XrdSsiResource::Discard = 2
static

Resource context may be cached and reused

Definition at line 64 of file XrdSsiResource.hh.

Referenced by XrdSsiServReal::ProcessRequest().

◆ hAvoid

std::string XrdSsiResource::hAvoid

-> Comma separated list of hosts to avoid

Definition at line 49 of file XrdSsiResource.hh.

◆ Reusable

const uint32_t XrdSsiResource::Reusable = 1
static

Definition at line 62 of file XrdSsiResource.hh.

Referenced by XrdSsiServReal::ProcessRequest().

◆ rInfo

std::string XrdSsiResource::rInfo

-> Additional information in CGI format

Definition at line 48 of file XrdSsiResource.hh.

Referenced by XrdSsiFileResource::Init().

◆ rName

std::string XrdSsiResource::rName

-> Name of the resource to be used

Definition at line 46 of file XrdSsiResource.hh.

Referenced by XrdSsiFileResource::Init(), XrdSsiService::Prepare(), and XrdSsiServReal::ProcessRequest().

◆ rOpts

uint32_t XrdSsiResource::rOpts

Resource options. One or more of he following:

Definition at line 60 of file XrdSsiResource.hh.

Referenced by XrdSsiServReal::ProcessRequest().

◆ rUser

std::string XrdSsiResource::rUser

-> Name of the resource user (nil if anonymous)

Definition at line 47 of file XrdSsiResource.hh.

Referenced by XrdSsiFileResource::Init().


The documentation for this class was generated from the following file: