RIM Store#

Utilities for fetching Remote Integrity Manifest (RIM) files from various sources.

Functions#

nvat_rc_t nvat_rim_store_create_cached(nvat_rim_store_t *out_store, const nvat_rim_store_t inner_store, uint64_t max_size_bytes, time_t ttl_seconds)

Create a RIM store with in-memory caching that wraps an existing RIM store.

nvat_rc_t nvat_rim_store_create_filesystem(nvat_rim_store_t *out_store, const char *base_path)

Create a RIM store backed by the local filesystem.

nvat_rc_t nvat_rim_store_create_remote(nvat_rim_store_t *out_store, const char *base_url, const nvat_http_options_t http_options)

Create a remote RIM store backed by the NVIDIA RIM service .

void nvat_rim_store_free(nvat_rim_store_t *rim_store)

Typedefs#

Functions#

nvat_rc_t nvat_rim_store_create_cached(
nvat_rim_store_t *out_store,
const nvat_rim_store_t inner_store,
uint64_t max_size_bytes,
time_t ttl_seconds,
)#

Create a RIM store with in-memory caching that wraps an existing RIM store.

The cached RIM store will cache RIM documents retrieved from the inner store to reduce redundant fetches and improve performance.

Ownership: On success, the caller assumes ownership of the allocated nvat_rim_store_t. The client is refcounted and safe to share between multiple verifier components.

Parameters:
  • out_store – Output parameter for the cached RIM store handle.

  • inner_store – The underlying RIM store to wrap with caching. Must not be NULL.

  • max_size_bytes – Maximum total size of cached items in bytes.

  • ttl_seconds – Time-to-live for cached items in seconds. Must be non-negative.

Returns:

NVAT_RC_OK on success, error code on failure.

nvat_rc_t nvat_rim_store_create_filesystem(
nvat_rim_store_t *out_store,
const char *base_path,
)#

Create a RIM store backed by the local filesystem.

Ownership: On success, the caller assumes ownership of the allocated nvat_rim_store_t. The client is refcounted and safe to share between multiple verifier components.

nvat_rc_t nvat_rim_store_create_remote(
nvat_rim_store_t *out_store,
const char *base_url,
const nvat_http_options_t http_options,
)#

Create a remote RIM store backed by the NVIDIA RIM service.

If the base_url is empty, the RIM store will use the default NVIDIA RIM service base URL to fetch RIMs.

Ownership: On success, the caller assumes ownership of the allocated nvat_rim_store_t. The client is refcounted and safe to share between multiple verifier components.

URL can also be set using the NVAT_RIM_SERVICE_BASE_URL environment variable.

Parameters:
  • base_url – If NULL, the default base URL of the NVIDIA RIM Service is used.

  • http_options – If NULL, default HTTP options will be used.

void nvat_rim_store_free(nvat_rim_store_t *rim_store)#

Typedefs#

typedef struct nvat_rim_store_st *nvat_rim_store_t#