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

This interface describes a cluster and its properties. More...

#include <inode_manager.h>

Inheritance diagram for mi::neuraylib::ICluster_descriptor:

Public Member Functions

virtual const IStringget_multicast_address () const =0
 Returns the multicast address reserved for the cluster. More...
 
virtual Float64 get_timeout () const =0
 Returns the keep-alive timeout for the cluster. More...
 
virtual const IMapget_properties () const =0
 Returns the properties of the cluster. More...
 
virtual Size get_number_of_worker_nodes () const =0
 Returns the number of worker nodes in the cluster. More...
 
virtual const IWorker_node_descriptorget_worker_node (Size index) const =0
 Returns a descriptor for a worker node in the cluster. More...
 
virtual const IWorker_node_descriptorget_head_node () const =0
 Returns the head node. More...
 
virtual Size get_number_of_client_nodes () const =0
 Returns the number of client nodes connected to the cluster. 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< 0xf83a075b, ... >
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< 0xf83a075b, ... >
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

This interface describes a cluster and its properties.

Member Function Documentation

 get_head_node()

virtual const IWorker_node_descriptor * mi::neuraylib::ICluster_descriptor::get_head_node ( ) const
pure virtual

Returns the head node.

The head node is a cluster member flagged by the node manager for applications that need support for a head node. It can be referenced by a placeholder substring in the argument string passed to mi::neuraylib::INode_manager_client::join_or_create_cluster().

See also
mi::neuraylib::INode_manager_client::join_or_create_cluster() for how to reference the head node in the argument string.
Returns
The descriptor for the head node, or NULL if no head node has been flagged.

 get_multicast_address()

virtual const IString * mi::neuraylib::ICluster_descriptor::get_multicast_address ( ) const
pure virtual

Returns the multicast address reserved for the cluster.

This multicast address may be used for communication among the child processes running in that cluster. It may also be used by client nodes to communicate with these child processes.

Returns
The multicast address and port.

 get_number_of_client_nodes()

virtual Size mi::neuraylib::ICluster_descriptor::get_number_of_client_nodes ( ) const
pure virtual

Returns the number of client nodes connected to the cluster.

 get_number_of_worker_nodes()

virtual Size mi::neuraylib::ICluster_descriptor::get_number_of_worker_nodes ( ) const
pure virtual

Returns the number of worker nodes in the cluster.

 get_properties()

virtual const IMap * mi::neuraylib::ICluster_descriptor::get_properties ( ) const
pure virtual

Returns the properties of the cluster.

The type of the map is "Map<String>".

Returns
A map containing the properties associated with the cluster.

 get_timeout()

virtual Float64 mi::neuraylib::ICluster_descriptor::get_timeout ( ) const
pure virtual

Returns the keep-alive timeout for the cluster.

The keep-alive timeout specifies the amount of time (in seconds) the cluster will remain operational after the last client left the cluster.

See also
mi::neuraylib::INode_manager_cluster::set_timeout()

 get_worker_node()

virtual const IWorker_node_descriptor * mi::neuraylib::ICluster_descriptor::get_worker_node ( Size  index) const
pure virtual

Returns a descriptor for a worker node in the cluster.

Note
The set of worker nodes in the cluster can change at any time. That is, this function can return NULL even if index is smaller than the result of the last call to get_number_of_worker_nodes().
Parameters
indexThe index of the worker node (from 0 to get_number_of_worker_nodes()-1).
Returns
The descriptor for the specified worker node, or NULL if index is out of bounds.