inetwork_configuration.h File Reference
Description
API component for networking related settings.
Code Example
inetwork_configuration.h
/***************************************************************************************************
* Copyright 2024 NVIDIA Corporation. All rights reserved.
**************************************************************************************************/
#ifndef MI_NEURAYLIB_INETWORK_CONFIGURATION_H
#define MI_NEURAYLIB_INETWORK_CONFIGURATION_H
#include <mi/base/interface_declare.h>
// X11/Xlib.h defines Status to int
#if defined(_XLIB_H_) || defined(_X11_XLIB_H_)
#undef Status
#endif // _XLIB_H_ || _X11_XLIB_H_
namespace mi {
class IString;
namespace neuraylib {
class IHost_callback;
class INetwork_statistics;
class INetwork_configuration : public
mi::base::Interface_declare<0xb60d3124,0xd410,0x400b,0xa0,0x1a,0x5c,0x5a,0x23,0x8d,0xcf,0xf2>
{
public:
enum Mode
{
MODE_OFF = 0,
MODE_TCP = 1,
MODE_UDP = 2,
MODE_TCP_WITH_DISCOVERY = 3,
// Undocumented, for alignment only
MODE_FORCE_32_BIT = 0xffffffffU
};
virtual Sint32
set_mode( Mode mode) = 0;
virtual Mode
get_mode() const = 0;
enum Status
{
CONNECTION_STANDALONE = 0,
CONNECTION_STARTING = 1,
CONNECTION_ESTABLISHED = 2,
CONNECTION_SHUTTINGDOWN = 3,
CONNECTION_SHUTDOWN = 4,
CONNECTION_FAILURE = 5,
// Undocumented, for alignment only
CONNECTION_FORCE_32_BIT = 0xffffffffU
};
virtual Status
get_status() const = 0;
// Configuration for multicast networking
virtual Sint32
set_multicast_address( const char* address) = 0;
virtual const IString* get_multicast_address() const = 0;
virtual void set_multicast_ttl( Uint32 ttl) = 0;
virtual Uint32
get_multicast_ttl() const = 0;
virtual Sint32
set_cluster_interface( const char* address) = 0;
virtual const IString* get_cluster_interface() const = 0;
virtual Sint32
set_discovery_address( const char* address) = 0;
virtual const IString* get_discovery_address() const = 0;
virtual Sint32
set_discovery_identifier( const char* identifier) = 0;
virtual const IString* get_discovery_identifier() const = 0;
// Configuration of redundancy
virtual Sint32
set_redundancy_level( Uint32 level) = 0;
virtual Uint32
get_redundancy_level() const = 0;
// Configure and query the list of hosts which can connect with this host
virtual Sint32
add_configured_host( const char* address) = 0;
virtual Sint32
remove_configured_host( const char* address) = 0;
virtual Uint32
get_number_of_configured_hosts() const = 0;
virtual const IString* get_configured_host( Uint32 index) const = 0;
virtual Sint32
set_compression_level( Uint32 level) = 0;
virtual Sint32
get_compression_level() const = 0;
// Callbacks for joining / leaving hosts
virtual Sint32
register_host_callback( IHost_callback* callback) = 0;
virtual Sint32
unregister_host_callback( IHost_callback* callback) = 0;
virtual const INetwork_statistics* get_network_statistics() const = 0;
virtual Sint32
set_use_rdma( bool use_rdma) = 0;
virtual bool get_use_rdma() const = 0;
virtual Sint32
set_rdma_interface( const char* rdma_interface) = 0;
virtual const IString* get_rdma_interface() const = 0;
};
mi_static_assert( sizeof( INetwork_configuration::Status) == sizeof( Uint32));
mi_static_assert( sizeof( INetwork_configuration::Mode) == sizeof( Uint32));
// end group mi_neuray_configuration
} // namespace neuraylib
} // namespace mi
// X11/Xlib.h defines Status to int
#if defined(_XLIB_H_) || defined(_X11_XLIB_H_)
#define Status int
#endif // _XLIB_H_ || _X11_XLIB_H_
#endif // MI_NEURAYLIB_INETWORK_CONFIGURATION_H
Namespaces
- namespace
- Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
- namespace
- Namespace for the neuray API. More...
Classes
- class
- This interface is used to query and change the networking configuration. More...