neuray API Programmer's Manual

icache_manager.h File Reference

Description

API component to interact with the cache manager.

Code Example

icache_manager.h

‎/***************************************************************************************************
 * Copyright 2023 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_ICACHE_MANAGER_H
#define MI_NEURAYLIB_ICACHE_MANAGER_H

#include <mi/base/interface_declare.h>

namespace mi {

class IString;

namespace neuraylib {

class ICache_manager : public
    mi::base::Interface_declare<0x6b063e2d,0x41cf,0x4a48,0x8b,0xdf,0x2e,0x41,0x65,0xfe,0x48,0xb7>
{
public:
    virtual Sint32 
               start( const char* listen_address, const char* directory) = 0;

    virtual Sint32 
               shutdown() = 0;

    virtual Sint32 
               set_http_address(
        const char* address, const char* user_name, const char* password) = 0;

    virtual const IString* get_http_address() const = 0;

    virtual const IString* get_http_user_name() const = 0;

    virtual const IString* get_http_password() const = 0;

    virtual Sint32 
               set_multicast_address( const char* address) = 0;

    virtual const IString* get_multicast_address() const = 0;

    virtual Sint32 
               set_cluster_interface( const char* address) = 0;

    virtual const IString* get_cluster_interface() 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;

    virtual Sint32 
               set_admin_http_address( const char* address) = 0;

    virtual const IString* get_admin_http_address() const = 0;

    virtual Sint32 
               set_memory_limits( Size low_water, Size high_water) = 0;

    virtual void get_memory_limits( Size* low_water, Size* high_water) const = 0;

    virtual Sint32 
               set_reference_count_checking( bool enabled) = 0;

    virtual bool get_reference_count_checking() const = 0;
};

class ICache_manager_factory : public
    mi::base::Interface_declare<0xd5908356,0x1686,0x4299,0xae,0x10,0x8c,0x88,0x71,0x43,0x1f,0x04>
{
public:
    virtual ICache_manager* create_cache_manager() = 0;
};

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_ICACHE_MANAGER_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the neuray API. More...

Classes

class 
Represents an instance of the cache manager. More...
class 
This factory allows to create cache manager instances. More...