icluster_manager_configuration.h File Reference
Description
API component to interact with the cluster manager.
Code Example
icluster_manager_configuration.h
//*****************************************************************************
// Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
//*****************************************************************************
//*****************************************************************************
#ifndef MI_NEURAYLIB_ICLUSTER_MANAGER_CONFIGURATION_H
#define MI_NEURAYLIB_ICLUSTER_MANAGER_CONFIGURATION_H
#include <mi/base/interface_declare.h>
namespace mi {
namespace neuraylib {
class ICluster_notification_callback : public
base::Interface_declare<0x1b9bfd07,0x9693,0x4e3f,0x83,0xb1,0x85,0x3b,0x91,0x83,0xd2,0x66>
{
public:
virtual void error_callback() = 0;
virtual void status_change_callback() = 0;
virtual void cluster_change_callback() = 0;
virtual void cluster_ready_callback(bool is_ready) = 0;
};
class ICluster_manager_node : public
base::Interface_declare<0x6b1cbc68,0x3af1,0x4a56,0x83,0x68,0x00,0x13,0xd4,0xec,0xc2,0xfa>
{
public:
virtual const char* get_node_name() = 0;
virtual const char* get_ip_address() = 0;
virtual const char* get_user_name() = 0;
virtual Size
get_cpu_count() = 0;
virtual Float32
get_cpu_load() = 0;
virtual Size
get_total_main_memory() = 0;
virtual Size
get_free_main_memory() = 0;
virtual Size
get_gpu_count() = 0;
virtual Float32
get_gpu_load() = 0;
virtual Size
get_total_gpu_memory() = 0;
virtual Size
get_free_gpu_memory() = 0;
};
class ICluster_manager_cluster : public
base::Interface_declare<0x5c88e256,0x6d61,0x4d76,0x91,0x13,0xe0,0x37,0x9f,0x4a,0xfd,0x07>
{
public:
virtual const char* get_head_node() = 0;
virtual const char* get_software_package_id() = 0;
virtual const char* get_bridge_protocol_version() = 0;
virtual const char* get_authentication_token() = 0;
virtual bool is_compatible() = 0;
virtual Size
get_number_of_cluster_nodes() = 0;
virtual ICluster_manager_node* get_cluster_node( Size index) = 0;
virtual bool can_be_closed() = 0;
};
class ICluster_pool_information : public
base::Interface_declare<0xd444f7cc,0xf8ff,0x4a79,0xa0,0xe5,0x51,0x02,0xc6,0x66,0x37,0x94>
{
public:
virtual Size
get_number_of_nodes() const = 0;
virtual ICluster_manager_node* get_node( Size index) const = 0;
};
class ISoftware_package : public
base::Interface_declare<0xa7a3a95c,0x3db8,0x4fef,0xb9,0x10,0x56,0x68,0xd7,0xa2,0xac,0x5>
{
public:
virtual const char* get_id() const = 0;
virtual const char* get_description() const = 0;
};
class ICluster_manager_connection : public
base::Interface_declare<0x0a54aeb4,0xb2e9,0x4893,0x9f,0x93,0x30,0xa4,0x61,0x1b,0xea,0x2a>
{
public:
virtual const char* get_address() const = 0;
virtual Size
get_number_of_compatible_software_packages() const = 0;
virtual const ISoftware_package* get_compatible_software_package( Size index) const = 0;
virtual Size
get_number_of_software_packages() const = 0;
virtual const ISoftware_package* get_software_package( Size index) const = 0;
virtual const ICluster_pool_information* get_cluster_pool_information() const = 0;
virtual ICluster_manager_cluster* reserve_cluster(
Size requested_nodes, const char* software_package_id, Sint32* errors = 0) = 0;
virtual Sint32
release_cluster() = 0;
virtual ICluster_manager_cluster* get_cluster() = 0;
virtual void set_cluster_notification_callback( ICluster_notification_callback* callback) = 0;
virtual bool authenticate_user(
const char* user_name, const char* password, bool* is_admin = 0, Sint32* errors = 0) = 0;
virtual void set_auto_release_cluster( bool auto_release_enabled) = 0;
virtual bool get_auto_release_cluster() = 0;
virtual const char* get_vca_name() const = 0;
};
class ICluster_manager_configuration : public
base::Interface_declare<0x6ac7506d,0x3604,0x49ad,0xb9,0xc3,0x6f,0xb3,0xf5,0x0c,0xa3,0x0f>
{
public:
virtual ICluster_manager_connection* connect(
const char* address, const char* user_name, const char* password, Sint32* errors = 0) = 0;
};
// end group mi_neuray_cluster_manager
} // namespace neuraylib
} // namespace mi
#endif // MI_NEURAYLIB_ICLUSTER_MANAGER_CONFIGURATION_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- Represents a cluster which was reserved through the cluster manager. More...
- class
- An API component which can be used to create a connection to a cluster manager. More...
- class
- Represents a connection to a cluster manager. More...
- class
- Provides information about a node which is part of a node pool or reserved cluster. More...
- class
- Abstract interface for giving notifications about errors and status changes. More...
- class
- Represents a pool of nodes managed though the cluster manager. More...
- class
- Represents a software package installed on the pool of nodes. More...