ores.ore.api
Table of Contents
2. Summary
ores.ore.api is the shared contract of the component. It carries the
protocols for importing an ORE directory, for the saga steps the engine
drives, and for locating the import tarball in object storage; and the
workflow registration the ORE import runs under.
Its compiled body is the generated wire codec of each protocol, so a caller encodes and decodes the ORE messages without compiling the encoder itself.
3. Inputs
- Protocol requests for the ORE import, and workflow definitions the engine registers at startup.
4. Outputs
- The import, saga-step and storage protocol schemas consumed by
ores.ore.serviceand the shell.
5. Entry points
include/ores.ore.api/messaging/— the import and saga-step protocols.include/ores.ore.api/net/— the import tarball bucket and key helpers.include/ores.ore.api/workflow/— the ORE import workflow registration.
6. Dependencies
ores.platform,ores.storage,ores.logging,ores.workflow.api,ores.eventing.apiandores.utility— linked publicly, because the headers name them, so consumers inherit them.
ores.storage is public because the import target helpers name a bucket,
so every consumer of this part inherits the object-storage client.
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.ore.core — the document engine behind this contract.
- ores.ore.service — the runnable host.
- ores.ore — the composite this part belongs to.
- How do I round trip an ORE document through the database? — the import workflow this part declares.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.platform.lib
ores.storage.api.lib
ores.logging.lib
ores.workflow.api.lib
ores.eventing.api.lib
ores.utility.lib)
target_link_libraries(${tests_target_name}
PRIVATE
${lib_target_name}
ores.utility.lib
ores.testing.lib
ores.logging.lib
Catch2::Catch2
Threads::Threads)
