NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::INode_manager_worker Class Referenceabstract

The node manager worker class allows to set properties and announce them to other nodes. More...

Inheritance diagram for mi::neuraylib::INode_manager_worker:
Inheritance graph
[legend]

Public Member Functions

virtual Sint32  start (const char *listen_address, bool tcp=false, const char *cluster_interface=NULL)=0
  Starts the operation of the node manager. More...
 
virtual Sint32  shutdown ()=0
  Shuts down the operation of the node manager. More...
 
virtual const IString get_listen_address () const =0
  Returns the listen address used by the node manager. More...
 
virtual Sint32  set_multicast_base_address (const char *base_address)=0
  Sets the multicast base address. More...
 
virtual const IString get_multicast_base_address () const =0
  Returns the multicast base address. More...
 
virtual Sint32  set_property (const char *name, const char *value)=0
  Sets a property of a worker node. More...
 
virtual const IString get_property (const char *name) const =0
  Returns a property of a worker node. More...
 
virtual Sint32  remove_property (const char *name)=0
  Removes a property of a worker node. More...
 
virtual void  set_child_process_resolver (IChild_process_resolver *child_process_resolver)=0
  Sets the child process resolver. More...
 
virtual IChild_process_resolver get_child_process_resolver () const =0
  Returns the child process resolver. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xeb232bd5, 0x0abf, 0x4872, 0xab, 0x18, 0x92, 0x49, 0x31, 0x36, 0xf9, 0x91 >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
  Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
  Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xeb232bd5, 0x0abf, 0x4872, 0xab, 0x18, 0x92, 0x49, 0x31, 0x36, 0xf9, 0x91 >
static bool  compare_iid (const Uuid &iid)
  Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

The node manager worker class allows to set properties and announce them to other nodes.

It also allows a client node to start child processes. It should be used in a process running on the worker nodes.

Member Function Documentation

virtual IChild_process_resolver* mi::neuraylib::INode_manager_worker::get_child_process_resolver ( ) const
pure virtual

Returns the child process resolver.

See Also
set_child_process_resolver()
Returns
The child process resolver.
virtual const IString* mi::neuraylib::INode_manager_worker::get_listen_address ( ) const
pure virtual

Returns the listen address used by the node manager.

Returns
The listen address and port.
virtual const IString* mi::neuraylib::INode_manager_worker::get_multicast_base_address ( ) const
pure virtual

Returns the multicast base address.

The node manager reserves a unique multicast address for each cluster that it manages. These multicast addresses start at the multicast base address and are obtained by incrementing the last octet, then the second-last octet, and so on.

Returns
The currently set multicast base address.
See Also
set_multicast_base_address(), mi::neuraylib::ICluster_descriptor::get_multicast_address()
virtual const IString* mi::neuraylib::INode_manager_worker::get_property ( const char *  name) const
pure virtual

Returns a property of a worker node.

See Also
set_property(), remove_property()
Parameters
name The name of the property to get.
Returns
A string representing the value of the property, or NULL if there is no property with the given name.
virtual Sint32 mi::neuraylib::INode_manager_worker::remove_property ( const char *  name)
pure virtual

Removes a property of a worker node.

This change will be forwarded immediately to all clients.

See Also
set_property(), get_property()
Parameters
name The name of the property to remove.
Returns
  • 0: Success.
  • -1: Invalid parameters (NULL pointer).
  • -2: There is no property with the given name.
virtual void mi::neuraylib::INode_manager_worker::set_child_process_resolver ( IChild_process_resolver child_process_resolver)
pure virtual

Sets the child process resolver.

See Also
get_child_process_resolver()
Parameters
child_process_resolver The new child process resolver. The value NULL can be used to remove the current child process resolver (which effectively is the same as a child process resolver instance that returns its first argument unchanged).
virtual Sint32 mi::neuraylib::INode_manager_worker::set_multicast_base_address ( const char *  base_address)
pure virtual

Sets the multicast base address.

The node manager reserves a unique multicast address for each cluster that it manages. These multicast addresses start at the multicast base address and are obtained by incrementing the last octet, then the second-last octet, and so on.

Parameters
base_address A multicast address to be used as a base when reserving cluster multicast addresses.
Returns
0 in case of success, -1 otherwise
See Also
get_multicast_base_address(), mi::neuraylib::ICluster_descriptor::get_multicast_address()
virtual Sint32 mi::neuraylib::INode_manager_worker::set_property ( const char *  name,
const char *  value 
)
pure virtual

Sets a property of a worker node.

This change will be forwarded immediately to all clients.

See Also
get_property(), remove_property()
Parameters
name The name of the property.
value The value to set for the property.
Returns
  • 0: Success.
  • -1: Invalid parameters (NULL pointers).
virtual Sint32 mi::neuraylib::INode_manager_worker::shutdown ( )
pure virtual

Shuts down the operation of the node manager.

Returns
0 in case of success, -1 otherwise.
virtual Sint32 mi::neuraylib::INode_manager_worker::start ( const char *  listen_address,
bool  tcp = false,
const char *  cluster_interface = NULL 
)
pure virtual

Starts the operation of the node manager.

For the optional cluster_interface parameter, the address can also be specified as a sub net using the CIDR notation a.b.c.d/xx. If there is an interface on the host with an address inside this range the first match will be used. This is useful for example when configuring several hosts. This means that on a host which has the address 192.168.1.1, specifying the address as 192.168.0.0/16:10000 would make the host bind to the 192.168.1.1 address on port 10000.

Parameters
listen_address The address used to communicate with other node manager instances. Should be a multicast address unless TCP networking is selected. In case of TCP networking, if the address is the local IP address, the host will become the head node which is used to discover the other hosts.
tcp Indicates whether TCP or UDP should be used.
cluster_interface The address of the cluster interface for listening.
Returns
0 in case of success, -1 otherwise