Iray SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::ICluster_manager_cluster Class Referenceabstract

Represents a cluster which was reserved through the cluster manager. More...

#include <icluster_manager_configuration.h>

Inheritance diagram for mi::neuraylib::ICluster_manager_cluster:

Public Member Functions

virtual const char * get_head_node ()=0
 Returns the name of the head node of the cluster. More...
 
virtual const char * get_software_package_id ()=0
 Returns the ID of software package which was started on the cluster, or NULL if no software was started. More...
 
virtual const char * get_bridge_protocol_version ()=0
 Returns the Bridge protocol version of the cluster. More...
 
virtual const char * get_authentication_token ()=0
 Returns an authentication token which has to be provided by the Bridge client when making the connection. More...
 
virtual bool is_compatible ()=0
 Indicates whether server's Bridge protocol version is compatible with the client's Bridge protocol version. More...
 
virtual Size get_number_of_cluster_nodes ()=0
 Returns the number of nodes in the cluster. More...
 
virtual ICluster_manager_nodeget_cluster_node (Size index)=0
 Returns a node which is part of the cluster. More...
 
virtual bool can_be_closed ()=0
 Indicates if the cluster can be closed by the application through this API. More...
 
virtual const char * get_head_node_address ()=0
 Returns the address of the head node of the cluster. More...
 
virtual ICluster_manager_nodeget_head_node_descriptor ()=0
 Returns a descriptor of the head node of the cluster. More...
 
virtual ICluster_manager_nodegrow_cluster (Sint32 *errors)=0
 Grows the cluster by one node. More...
 
virtual Sint32 shrink_cluster (ICluster_manager_node *node)=0
 Shrinks the cluster by one node. 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 IInterfaceget_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 IInterfaceget_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< 0x5c88e256, ... >
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< 0x5c88e256, ... >
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...
 

Detailed Description

Represents a cluster which was reserved through the cluster manager.

See also
mi::neuraylib::ICluster_manager_connection::reserve_cluster()

Member Function Documentation

 can_be_closed()

virtual bool mi::neuraylib::ICluster_manager_cluster::can_be_closed ( )
pure virtual

Indicates if the cluster can be closed by the application through this API.

 get_authentication_token()

virtual const char * mi::neuraylib::ICluster_manager_cluster::get_authentication_token ( )
pure virtual

Returns an authentication token which has to be provided by the Bridge client when making the connection.

The token was generated by the cluster manager and has been passed to the software started on the server side.

 get_bridge_protocol_version()

virtual const char * mi::neuraylib::ICluster_manager_cluster::get_bridge_protocol_version ( )
pure virtual

Returns the Bridge protocol version of the cluster.

This is for display purposes only. Use is_compatible() to check whether it is compatible with the client's Bridge protocol version.

 get_cluster_node()

virtual ICluster_manager_node * mi::neuraylib::ICluster_manager_cluster::get_cluster_node ( Size  index)
pure virtual

Returns a node which is part of the cluster.

See also
get_number_of_cluster_nodes()
Parameters
indexThe index of the cluster node.
Returns
A description of the index-th cluster node, or NULL if index is out of bounds.

 get_head_node()

virtual const char * mi::neuraylib::ICluster_manager_cluster::get_head_node ( )
pure virtual

Returns the name of the head node of the cluster.

 get_head_node_address()

virtual const char * mi::neuraylib::ICluster_manager_cluster::get_head_node_address ( )
pure virtual

Returns the address of the head node of the cluster.

 get_head_node_descriptor()

virtual ICluster_manager_node * mi::neuraylib::ICluster_manager_cluster::get_head_node_descriptor ( )
pure virtual

Returns a descriptor of the head node of the cluster.

 get_number_of_cluster_nodes()

virtual Size mi::neuraylib::ICluster_manager_cluster::get_number_of_cluster_nodes ( )
pure virtual

Returns the number of nodes in the cluster.

See also
get_cluster_node()

 get_software_package_id()

virtual const char * mi::neuraylib::ICluster_manager_cluster::get_software_package_id ( )
pure virtual

Returns the ID of software package which was started on the cluster, or NULL if no software was started.

 grow_cluster()

virtual ICluster_manager_node * mi::neuraylib::ICluster_manager_cluster::grow_cluster ( Sint32 errors)
pure virtual

Grows the cluster by one node.

See also
shrink_cluster
Parameters
[out]errorsAn optional pointer to an mi::Sint32 to which an error code will be written. The error codes have the following meaning:
  • 0: Success.
  • -1: No nodes were available.
  • -2: No cluster is running.
  • -3: The connection to the cluster manager broke down.
  • -4: The request timed out. Please check if the cluster manager is working properly.
Returns
The descriptor of the node that has been added to the cluster, or NULL if no node was available to be added.

 is_compatible()

virtual bool mi::neuraylib::ICluster_manager_cluster::is_compatible ( )
pure virtual

Indicates whether server's Bridge protocol version is compatible with the client's Bridge protocol version.

 shrink_cluster()

virtual Sint32 mi::neuraylib::ICluster_manager_cluster::shrink_cluster ( ICluster_manager_node node)
pure virtual

Shrinks the cluster by one node.

Shrinking the cluster if there's only one node remaining is not allowed. Removing the head node of the cluster is not prevented but should be avoided when calling this. There's no built-in way after the cluster has been started to tell a head node process that is has been selected as the new head node.

See also
grow_cluster
Parameters
nodeThe descriptor of the node that is to be removed from the cluster.
Returns
  • 0: Success.
  • 1: Success. The removed node was the head node.
  • -1: Node not removed because it's the last node in the cluster.
  • -2: No cluster is running.
  • -3: The connection to the cluster manager broke down.
  • -4: The request timed out. Please check if the cluster manager is working properly.
  • -5: The server failed to remove the node from the cluster.