NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
inetwork_configuration.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_INETWORK_CONFIGURATION_H
9 #define MI_NEURAYLIB_INETWORK_CONFIGURATION_H
10 
12 #include <mi/neuraylib/version.h>
13 
14 // X11/Xlib.h defines Status to int
15 #if defined(_XLIB_H_) || defined(_X11_XLIB_H_)
16 #undef Status
17 #endif // _XLIB_H_ || _X11_XLIB_H_
18 
19 namespace mi {
20 
21 class IString;
22 
23 namespace neuraylib {
24 
25 class IHost_callback;
26 class INetwork_statistics;
27 
32 class INetwork_configuration : public
34  mi::base::Interface_declare<0xb60d3124,0xd410,0x400b,0xa0,0x1a,0x5c,0x5a,0x23,0x8d,0xcf,0xf2>
35 {
36 public:
43  enum Mode
44  {
46  MODE_OFF = 0,
50  MODE_TCP = 1,
55  MODE_UDP = 2,
60  // Undocumented, for alignment only
61  MODE_FORCE_32_BIT = 0xffffffffU
62  };
63 
72  virtual Sint32 set_mode( Mode mode) = 0;
73 
83  virtual Mode get_mode() const = 0;
84 
88  enum Status
89  {
103  // Undocumented, for alignment only
104  CONNECTION_FORCE_32_BIT = 0xffffffffU
105  };
106 
108  virtual Status get_status() const = 0;
109 
110  // Configuration for multicast networking
111 
129  virtual Sint32 set_multicast_address( const char* address) = 0;
130 
137  virtual const IString* get_multicast_address() const = 0;
138 
148  virtual void set_multicast_ttl( Uint32 ttl) = 0;
149 
155  virtual Uint32 get_multicast_ttl() const = 0;
156 
180  virtual Sint32 set_cluster_interface( const char* address) = 0;
181 
188  virtual const IString* get_cluster_interface() const = 0;
189 
212  virtual Sint32 set_discovery_address( const char* address) = 0;
213 
220  virtual const IString* get_discovery_address() const = 0;
221 
241  virtual Sint32 set_discovery_identifier( const char* identifier) = 0;
242 
248  virtual const IString* get_discovery_identifier() const = 0;
249 
250  // Configuration of redundancy
251 
264  virtual Sint32 set_redundancy_level( Uint32 level) = 0;
265 
271  virtual Uint32 get_redundancy_level() const = 0;
272 
273  // Configure and query the list of hosts which can connect with this host
274 
284  virtual Sint32 add_configured_host( const char* address) = 0;
285 
294  virtual Sint32 remove_configured_host( const char* address) = 0;
295 
299  virtual Uint32 get_number_of_configured_hosts() const = 0;
300 
308  virtual const IString* get_configured_host( Uint32 index) const = 0;
309 
322  virtual Sint32 set_compression_level( Uint32 level) = 0;
323 
327  virtual Sint32 get_compression_level() const = 0;
328 
329  // Callbacks for joining / leaving hosts
330 
342  virtual Sint32 register_host_callback( IHost_callback* callback) = 0;
343 
353  virtual Sint32 unregister_host_callback( IHost_callback* callback) = 0;
354 
358  virtual const INetwork_statistics* get_network_statistics() const = 0;
359 
368  virtual Sint32 set_use_rdma( bool use_rdma) = 0;
369 
373  virtual bool get_use_rdma() const = 0;
374 
386  virtual Sint32 set_rdma_interface( const char* rdma_interface) = 0;
387 
393  virtual const IString* get_rdma_interface() const = 0;
394 };
395 
398  // end group mi_neuray_configuration
400 
401 } // namespace neuraylib
402 
403 } // namespace mi
404 
405 // X11/Xlib.h defines Status to int
406 #if defined(_XLIB_H_) || defined(_X11_XLIB_H_)
407 #define Status int
408 #endif // _XLIB_H_ || _X11_XLIB_H_
409 
410 #endif // MI_NEURAYLIB_INETWORK_CONFIGURATION_H