XrdSsiCms Class Reference

#include <XrdSsiCms.hh>

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

List of all members.

Public Member Functions

void Added (const char *name, bool pend=false)
bool DataContext ()
const char *const * Managers (int &mNum)
void Removed (const char *name)
void Resume (bool perm=true)
void Suspend (bool perm=true)
int Resource (int n)
int Reserve (int n=1)
int Release (int n=1)
 XrdSsiCms ()
 XrdSsiCms (XrdCmsClient *cmsP)
virtual ~XrdSsiCms ()

Private Attributes

XrdCmsClienttheCms
char ** manList
int manNum

Constructor & Destructor Documentation

XrdSsiCms::XrdSsiCms (  )  [inline]
XrdSsiCms::XrdSsiCms ( XrdCmsClient cmsP  ) 
virtual XrdSsiCms::~XrdSsiCms (  )  [virtual]

Member Function Documentation

void XrdSsiCms::Added ( const char *  name,
bool  pend = false 
) [virtual]

Notify the cluster of a newly added endpoint name or whose state has changed on on this server node.

Parameters:
name The logical name.
pend When true, the name is scheduled to be present in the future.

Implements XrdSsiCluster.

bool XrdSsiCms::DataContext (  )  [inline, virtual]

Determine whether or not the SSI plug-in is running in a data context.

Returns:
true running in a data context (i.e. xrootd).
false running is a meta context (i.e. cmsd).

Implements XrdSsiCluster.

const char* const* XrdSsiCms::Managers ( int &  mNum  )  [inline, virtual]

Obtain the list of nodes that are managing this cluster.

Parameters:
mNum Place to put the number of managers in the returned array.
Returns:
The vector of nodes being used with mNum set to the number of elements. The list is considered permanent and is not deleted.

Implements XrdSsiCluster.

References manList, and manNum.

int XrdSsiCms::Release ( int  n = 1  )  [inline, virtual]

Increase the amount of resource available. When transitioning from a a non-positive to a positive resource amount, perform a resume so that additional clients may be dispatched to this server.

Parameters:
n The value to add to the resources available (default 1). The total amount is capped by the amount specified by Resource().
Returns:
The amount of resource left.

Implements XrdSsiCluster.

References XrdCmsClient::Release(), and theCms.

void XrdSsiCms::Removed ( const char *  name  )  [virtual]

Notify the cluster that a name is no longer available on this server node.

Parameters:
name The logical name that is no longer available.

Implements XrdSsiCluster.

int XrdSsiCms::Reserve ( int  n = 1  )  [inline, virtual]

Decrease the amount of resources available. When the available resources becomes non-positive, perform a temporary suspend to prevent additional clients from being dispatched to this server.

Parameters:
n The value by which resources are decreased (default 1).
Returns:
The amount of resource left.

Implements XrdSsiCluster.

References XrdCmsClient::Reserve(), and theCms.

int XrdSsiCms::Resource ( int  n  )  [inline, virtual]

Enable the Reserve() & Release() methods.

Parameters:
n a positive integer that specifies the amount of resource units that are available. It may be reset at any time.
Returns:
The previous resource value. This first call returns 0.

Implements XrdSsiCluster.

References XrdCmsClient::Resource(), and theCms.

void XrdSsiCms::Resume ( bool  perm = true  )  [inline, virtual]

Resume service after a suspension.

Parameters:
perm When true the resume persist across server restarts. Otherwise, it is treated as a temporary request.

Implements XrdSsiCluster.

References XrdCmsClient::Resume(), and theCms.

void XrdSsiCms::Suspend ( bool  perm = true  )  [inline, virtual]

Suspend service.

Parameters:
perm When true the suspend persist across server restarts. Otherwise, it is treated as a temporary request.

Implements XrdSsiCluster.

References XrdCmsClient::Suspend(), and theCms.


Member Data Documentation

char** XrdSsiCms::manList [private]

Referenced by Managers().

int XrdSsiCms::manNum [private]

Referenced by Managers().


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

Generated on 9 Oct 2019 for xrootd by  doxygen 1.6.1