XrdSsiCluster Class Reference

#include <XrdSsiCluster.hh>

Inheritance diagram for XrdSsiCluster:
Inheritance graph
[legend]

List of all members.

Public Member Functions

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

Detailed Description

The XrdSsiCluster object provides methods to manage the names and resources of a server node relative to the cluster in which it resides. A pointer to object is passed to the XrdSsiServer object loaded as start-up. It remains valid for the duration of the program.


Constructor & Destructor Documentation

XrdSsiCluster::XrdSsiCluster (  )  [inline]

Destructor.

virtual XrdSsiCluster::~XrdSsiCluster (  )  [inline, virtual]

Member Function Documentation

virtual void XrdSsiCluster::Added ( const char *  name,
bool  pend = false 
) [pure 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.

Implemented in XrdSsiCms.

virtual bool XrdSsiCluster::DataContext (  )  [pure 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).

Implemented in XrdSsiCms.

virtual const char* const* XrdSsiCluster::Managers ( int &  mNum  )  [pure 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.

Implemented in XrdSsiCms.

virtual int XrdSsiCluster::Release ( int  n = 1  )  [pure 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.

Implemented in XrdSsiCms.

virtual void XrdSsiCluster::Removed ( const char *  name  )  [pure 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.

Implemented in XrdSsiCms.

virtual int XrdSsiCluster::Reserve ( int  n = 1  )  [pure 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.

Implemented in XrdSsiCms.

virtual int XrdSsiCluster::Resource ( int  n  )  [pure 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.

Implemented in XrdSsiCms.

virtual void XrdSsiCluster::Resume ( bool  perm = true  )  [pure virtual]

Resume service after a suspension.

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

Implemented in XrdSsiCms.

virtual void XrdSsiCluster::Suspend ( bool  perm = true  )  [pure virtual]

Suspend service.

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

Implemented in XrdSsiCms.


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

Generated on 23 Mar 2020 for xrootd by  doxygen 1.6.1