Skip to main content

harmos_sidecar/
lib.rs

1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Modules === */
11
12mod error;
13
14#[cfg(feature = "transport")]
15pub mod attach;
16
17#[cfg(feature = "transport")]
18pub mod transport;
19
20#[cfg(feature = "kit")]
21pub mod kit;
22
23#[cfg(feature = "transport")]
24mod wire;
25
26/* === Re-Exports === */
27
28pub use harmos_domain::model;
29pub use harmos_operations as builtins;
30
31#[cfg(feature = "transport")]
32pub use attach::{Attach, Attached, Executable, ExecutableError};
33pub use error::{Error, Result};
34pub mod catalog {
35    pub use harmos_domain::catalog::*;
36}
37pub use harmos_domain::inventory;
38pub use harmos_domain::{
39    ConfigError, Failure, RESERVED, Refusal, Registrar, Registration, RegistrationError, StreamSpec, UNKNOWN, UNREADABLE, encode_config,
40    reserved, validate_config,
41};
42pub use harmos_domain::{failure, listeners};
43pub use harmos_sdk::operations;
44pub use harmos_sdk::operations::Host;
45pub use harmos_sdk::operations::{Backoff, CacheKey, Jitter, OperationDeclaration, OperationPolicy, RestartPolicy, RetryPolicy};
46pub use harmos_sdk::{Context, Dependent, ExecutionContext, Lifecycle, Operation, Plugin, Resource, Service, Setup};
47
48pub use harmos_domain::StreamDeclaration;
49#[cfg(feature = "kit")]
50pub use kit::{
51    Activation, ActivationId, Activity, CATALOG_EXPORT_FLAG, CATALOG_EXPORT_LIMIT, CallError, DemandKey, Instance, Observer,
52    ObserverAttachment, ObserverCaller, ObserverContext, ObserverError, ObserverHost, ObserverPublisher, ObserverStreamPublisher,
53    OperationInstance, PluginNative, PublicationError, PublishError, Publisher, Supervisor, Tick, run_plugin, serve_plugin_channels,
54};
55
56#[cfg(feature = "transport")]
57pub use wire::{Frame, FramePayload, PluginCatalog, Publication};
58
59#[cfg(feature = "derive")]
60pub use harmos_domain::observer;
61pub use harmos_domain::schema;
62pub use harmos_domain::streams;
63pub use harmos_domain::{Axial, Batched, Metadata, Prefix, StreamField, Track, Tracked};
64pub use harmos_domain::{
65    Digest, Fingerprint, MemorySize, Message, MessageError, OperationDefinition, Portable, QualifiedId, RowMetadata, ServicePolicy,
66    Storable,
67};
68#[cfg(feature = "derive")]
69pub use harmos_domain::{listener, message, stream};
70#[cfg(feature = "derive")]
71pub use harmos_macros::{sidecar_catalog as catalog, sidecar_operation as operation};
72pub use harmos_sdk::plugin;
73
74#[cfg(feature = "kit")]
75pub use kit::__private;
76
77/* === Imports === */
78
79// Standard Library Imports
80
81// Third Party Imports
82
83// Local Imports
84
85/* === Constants === */
86
87/* === Macros === */
88
89/* === Type Aliases === */
90
91/* === Structs === */
92
93/* === Enums === */
94
95/* === Traits === */
96
97/* === Implementations === */
98
99#[cfg(feature = "kit")]
100impl harmos_domain::__private::CarrierContext for Supervisor {
101    const FACILITY: &'static str = "sidecar";
102}
103
104/* === Public Functions === */
105
106/* === Private Functions === */
107
108/* === Tests === */