Represents a connection to a cluster manager. More...
#include <icluster_manager_configuration.h>
Public Member Functions | |
virtual const char * | get_address () const =0 |
Returns the address of the cluster manager to which this connection connects to. More... | |
virtual Size | get_number_of_compatible_software_packages () const =0 |
Returns the number of compatible software packages. More... | |
virtual const ISoftware_package * | get_compatible_software_package (Size index) const =0 |
Returns a compatible software package. More... | |
virtual Size | get_number_of_software_packages () const =0 |
Returns the number of software packages. More... | |
virtual const ISoftware_package * | get_software_package (Size index) const =0 |
Returns a software package. More... | |
virtual const ICluster_pool_information * | get_cluster_pool_information () const =0 |
Returns information about the pool. More... | |
virtual ICluster_manager_cluster * | reserve_cluster (Size requested_nodes, const char *software_package_id, Sint32 *errors=0)=0 |
Reserves a cluster of nodes from the pool of free nodes. More... | |
virtual Sint32 | release_cluster ()=0 |
Releases the reserved cluster for this user. More... | |
virtual ICluster_manager_cluster * | get_cluster ()=0 |
Returns the reserved cluster for this user, or NULL if there is none. More... | |
virtual void | set_cluster_notification_callback (ICluster_notification_callback *callback)=0 |
Sets a callback to be called in case of certain events. More... | |
virtual bool | authenticate_user (const char *user_name, const char *password, bool *is_admin=0, Sint32 *errors=0)=0 |
Checks whether an user exists on the cluster manager and whether the password matches. More... | |
virtual void | set_auto_release_cluster (bool auto_release_enabled)=0 |
Sets if a reserved cluster should be auto-released, if this connection is closed / lost for example because of a network outage or a crash of the client process. More... | |
virtual bool | get_auto_release_cluster ()=0 |
Return if auto-release is enabled or not. More... | |
virtual const char * | get_vca_name () const =0 |
Get the name of the VCA to which this connections connects to. More... | |
Public Member Functions inherited from mi::base::IInterface | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0x0a54aeb4, ... > | |
typedef Interface_declare< id1, ... > | Self |
Own type. More... | |
typedef Uuid_t< id1, ... > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> | IID |
Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x0a54aeb4, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
Represents a connection to a cluster manager.
The connection allows inquiring information about the cluster manager and the nodes in the pool. Furthermore, it allows reserving a cluster of nodes.
|
pure virtual |
Checks whether an user exists on the cluster manager and whether the password matches.
This can be used to share an authentication database between a cluster manager and a connected application.
user_name | User name of the user to be checked. | |
password | Password of the user to be checked. | |
[out] | is_admin | An optional pointer to a bool to which the information is written whether an authenticated user is an admin. If the user could not be authenticated, then the content is undefined. |
[out] | errors | An optional pointer to an mi::Sint32 to which an error code will be written. The error codes have the following meaning:
|
true
, if the user could be authenticated, or false
otherwise.
|
pure virtual |
Returns the address of the cluster manager to which this connection connects to.
|
pure virtual |
Return if auto-release is enabled or not.
True
, if auto-release is enabled, false
otherwise.
|
pure virtual |
Returns the reserved cluster for this user, or NULL
if there is none.
|
pure virtual |
Returns information about the pool.
This will ask the cluster manager for the information and block until the information was received.
|
pure virtual |
Returns a compatible software package.
An installed software package is compatible if its Bridge version is compatible with the client's Bridge version.
index | The index of the software package. |
index-th
software package or NULL
if index
is out of bounds.
|
pure virtual |
Returns the number of compatible software packages.
An installed software package is compatible if its Bridge version is compatible with the client's Bridge version.
|
pure virtual |
Returns the number of software packages.
|
pure virtual |
Returns a software package.
index | The index of the software package. |
index-th
software package or NULL
if index
is out of bounds.
|
pure virtual |
Get the name of the VCA to which this connections connects to.
|
pure virtual |
Releases the reserved cluster for this user.
|
pure virtual |
Reserves a cluster of nodes from the pool of free nodes.
requested_nodes | The number of nodes requested for the cluster. This is the maximum number of nodes. The returned cluster may contain fewer nodes. | |
software_package_id | The ID of the software package which should be started. The value NULL can be used to specify that no software package should be started as part of the reservation process. | |
[out] | errors | An optional pointer to an mi::Sint32 to which an error code will be written. The error codes have the following meaning:
|
NULL
in case of failure.
|
pure virtual |
Sets if a reserved cluster should be auto-released, if this connection is closed / lost for example because of a network outage or a crash of the client process.
If set, then any reserved cluster will be released by the VCA manager when the connection is closed from its point of view. The default is that auto-release is not enabled.
auto_release_enabled | True , if auto-release should be enabled, false otherwise. |
|
pure virtual |
Sets a callback to be called in case of certain events.
If there was a previously installed callback, it will be released.
callback | The new callback object. |