    

 ## On this page

  

 

 # DVS URIs

 Last update: 16.07.2025 

## URI Overview

URIs are used in the DVS API and dvs\_file to specify protocol's, locations, and options. They are mainly used during server creation to specify the communication protocol being used, where to connect, and in the DVS Cache to determine what type of cache to use, where it is located, filter specifics on what to load or not load from the cache, and compression levels if needed.

### Table of Contents

- [Server URIs](#dvs_server_uri)
- [Cache URIs](#dvs_cache_uri)
    - [Cache URI Domain](#dvs_cache_uri_domain)
    - [Cache URI Hostname/Port](#dvs_cache_uri_hostname)
    - [Cache URI Path](#dvs_cache_uri_path)
    - [Cache URI Options](#dvs_cache_uri_options)
    - [Cache URI Examples](#dvs_cache_uri_example)
    - [Cache Compression](#dvs_cache_compression)

---

---

## <a class="anchor" id="dvs_server_uri"></a>Server URIs

The Server URI specifies what transport protocol to use, the machine and port to connect to if using a network connection. This is used by [dvs\_server\_create()](dynamic__visualization__store__api_8h.xhtml#a06196ff56fe7f270172239c1be4ce0cd "Create a Dynamic Visualization Store server instance for the client to connect.") or [DVS::CREATE\_SERVER\_INSTANCE()](dvs__server__interface_8h.xhtml#a852580b9a49ac305e4ae26ca637bcc75 "Create a DVS::IServer instance for clients to connect to.") to create a server to connect to.

Server URI Format Description {protocol}:{hostname}:{port} Used to create server stub for client to connect Protocols Description grpc Use gRPC for communication null Use direct method calls, no network communication **Note: Use all lower case for the protocol**

Example URI Description grpc://localhost:50051 Connect to same computer on port 50051 using gRPC grpc://127.0.0.1:12345 Connect to same computer's IPv4 address on port 12345 using gRPC grpc://computer.ansys.com:12345 Connect to hostname on port 12345 using gRPC null:// Connect to server running in same process using direct method calls, no network communication ---

---

## <a class="anchor" id="dvs_cache_uri"></a>Cache URIs

Cache URIs are used to specify what domain/type of dvs\_cache to use, the host and port of the machine to connect if needed, the path of the cache on the machine, filters and options. Cache URIs are used by both the DVS API if wanting to cache data or a dvs\_file to load data previously cached. The URI is set via the API by calling `<a class="el" href="dynamic__visualization__store__api_8h.xhtml#ae8abdb8455cea44bbd9f509c1a063516" title="Add an option to the server.">dvs_server_set_option()</a>` in tha C API or `<a class="el" href="class_d_v_s_1_1_i_server.xhtml#a1edb4dec67086f10bc0329b6adf9084c" title="Set a specific option on the server, these are used during startup See See Server Options.">DVS::IServer::set_option()</a>` in the C++ API, using "CACHE\_URI" as the key, and the URI as the value.

> ‍Example: dvs\_server\_set\_option("CACHE\_URI", "hdf5://localhost:1234/D:/temp/cache")

Cache URI Format Description {domain}://{hostname}:{port}/path/to/cache?key=value&amp;key2=value2 Format of a cache URI ---

### <a class="anchor" id="dvs_cache_uri_domain"></a>Cache URI Domain

The first part of the Cache URI is the domain, domain options below. It is separated from the hostname by '://'.

Domains Description hdf5 Uses HDF5 for blob store and sqlite for metadata store disk Deprecated binary file blob store and sqlite for metadata store ---

### <a class="anchor" id="dvs_cache_uri_hostname"></a>Cache URI Hostname/Port

The hostname and port portion of the URI are next, separated by ':'. The hostname and port aren't currently used but will be in the future when applicable.

---

### <a class="anchor" id="dvs_cache_uri_path"></a>Cache URI Path

The path in the cache URI can be relative or absolute. A relative path in a URI for a server option will store the cache relative to the working directory of the server data is being sent to. A relative path in a dvs\_file will be relative to the location of the file itself.

Example URIs Description hdf5://localhost:1234/D:/temp/my\_cache Use hdf5 cache, localhost/port ignored, cache location D:/temp/my\_cache for Windows hdf5://localhost:1234/./ Use hdf5 cache, localhost/port ignored, cache location in current working directory of server or same directory as dvs\_file hdf5://localhost:1234//home/user/my\_cache/ Use hdf5 cache, localhost/port ignored, cache location /home/user/my\_cache on Linux ---

### <a class="anchor" id="dvs_cache_uri_options"></a>Cache URI Options

Key/Value pair options can be set in the URI after '?' character. Options are separated with '&amp;' characters.

> ‍Example: hdf5://localhost:1234/D:/my\_cache/?option1=value1&amp;option2=value2

Cache URI Options Description query Query stanzas to filter what is loaded from the cache. See [Query Stanzas](group__group__dvs__filtering.xhtml#dvs_query_stanzas) compression Default: 0, No compression. 1: Best compression speed; least compression. 2-8: Compression improves; speed degrades. 9: Best compression ratio; slowest speed. See [Cache Compression](#dvs_cache_compression). ---

### <a class="anchor" id="dvs_cache_uri_example"></a>Cache URI Examples

Cache URI Example Description hdf5:///D:/my\_cache/?query=/dataset.name/eq/Dataset1|Dataset2//and/var.name/neq/pressure//and/plot.name/eq/my+plot Load entries from Dataset1 OR Dataset2. Do not load vars with name 'pressure'. Only load plots named 'my plot'. hdf5:///D:/my\_cache/?query=/dataset.name/eq/Dataset1|Dataset2|Dataset3 Load entries from Dataset1 OR Dataset2 OR Dataset3 hdf5:///D:/my\_cache/?query=/dataset.name/eq/Dataset+1|Dataset+2//and/rank/mod/3|0 Load all cache entries from 'Dataset 1' OR 'Dataset 2' where rank % 3 == 0 hdf5:///D:/my\_cache/?query=/part.name/eq/inlet\* Load all cache entries for parts with partial name inlet, i.e. inlet 1, inlet 2 etc hdf5:///D:/my\_cache/?query=/dataset.name/eq/my+dataset//and/timestep/rngi/1.2|2.3 Load all cache entries from 'my dataset' where time &gt;= 1.2 and time &lt;= 2.3 hdf5:///D:/my\_cache/?query=/part.name/neq/inlet\*|outlet\* Load all cache entries for parts that do not partial match 'inlet' OR 'outlet' ---

### <a class="anchor" id="dvs_cache_compression"></a>Cache Compression

Cache compression is off by default. It can be enabled by adding a query parameter of compression=value at the end of the uri.

**Note:** Values/queries at the end of a URI are separated by '&amp;'

Compression Example Description hdf5:///./my\_cache/ No compression hdf5:///./my\_cache/?compression=0 No compression hdf5:///./my\_cache/?compression=9 Max compression hdf5:///./my\_cache/?query=/dataset.name/eq/my+dataset//&amp;compression=9 Max compression with a [Query Stanzas](group__group__dvs__filtering.xhtml#dvs_query_stanzas)