neuray API Programmer's Manual

mi::neuraylib::ICluster_manager_cluster Class Reference

[Cluster manager]

Description

Represents a cluster which was reserved through the cluster manager.

See also:

mi::neuraylib::ICluster_manager_connection::reserve_cluster()

Public Member Functions

virtual bool  can_be_closed() =0
Indicates if the cluster can be closed by the application through this API.
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 const char* get_bridge_protocol_version() =0
Returns the Bridge protocol version of the cluster. More...
virtual ICluster_manager_nodeget_cluster_node( Size index) =0
Returns a node which is part of the cluster. More...
virtual const char* get_head_node() =0
Returns the name of the head node of the cluster.
virtual const char* get_head_node_address() =0
Returns the address of the head node of the cluster.
virtual ICluster_manager_nodeget_head_node_descriptor() =0
Returns a descriptor of the head node of the cluster.
virtual Size get_number_of_cluster_nodes() =0
Returns the number of nodes in 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.
virtual ICluster_manager_nodegrow_cluster( Sint32* errors) =0
Grows the cluster by one node. More...
virtual bool  is_compatible() =0
Indicates whether server's Bridge protocol version is compatible with the client's Bridge protocol version.
virtual Sint32 shrink_cluster( ICluster_manager_node* node) =0
Shrinks the cluster by one node. More...

Member Functions

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.

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.

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.

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

index
The index of the cluster node.

Returns

A description of the index-th cluster node, or NULL if index is out of bounds.

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

Returns the name of the head node of the cluster.

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

Returns the address of the head node of the cluster.

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.

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()

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.

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

errors
An 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.

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.

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

node
The 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.