ores.compute.api
Table of Contents
2. Summary
ores.compute.api is a header-only library defining the shared contract for
the compute domain. It provides domain types for apps, app versions, compute hosts, batches,
workunits, and results, with JSON I/O via generated codecs, and the NATS protocol schemas
used by both the orchestrator (ores.compute.core) and worker nodes
(ores.compute.wrapper).
3. Inputs
- Domain entity type definitions across
domain/headers.
4. Outputs
- C++ headers for compute domain types with JSON I/O.
- NATS protocol headers for batch dispatch, registration, and result reporting.
5. Entry points
include/ores.compute.api/domain/,include/ores.compute.api/messaging/.
6. Dependencies
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.compute — component group overview.
- ores.compute.core — orchestrator side.
- ores.compute.wrapper — worker side.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.storage.api.lib
ores.platform.lib
PRIVATE
ores.utility.lib
faker-cxx::faker-cxx
libfort::fort)
target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
PRIVATE
ores.compute.api.lib
ores.telemetry.core.lib
ores.utility.lib
ores.testing.lib
faker-cxx::faker-cxx
Catch2::Catch2
ores.openssl_cleanup
Threads::Threads)
