Skip to main content

harmos_sdk/operations/
mod.rs

1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Modules === */
11
12pub mod access;
13mod authored;
14mod calls;
15pub mod instance;
16pub mod instances;
17pub mod lifecycle;
18mod operation;
19pub mod publication;
20pub(crate) mod registration;
21pub(crate) mod resources;
22pub(crate) mod response;
23pub(crate) mod serving;
24mod startup;
25
26#[cfg(feature = "streaming")]
27pub mod streaming;
28mod surface;
29
30/* === Re-Exports === */
31
32#[doc(hidden)]
33pub use authored::Carrier;
34pub use authored::{EndpointSet, Executable, InputEndpoint, OutputEndpoint};
35pub use calls::{CallFuture, Caller, Calls, InvocationError, Target};
36pub use harmos_domain::operations::*;
37pub use instance::Instance;
38pub use operation::{Authored, Context, Dependent, Operation, Resource, Shape, Streams};
39pub(crate) use registration::RegistrationBatch;
40pub use registration::{Catalog, NativeInstance, OperationCatalog, OperationFactory, ServiceFactory, ServiceInstance};
41pub(crate) use resources::ResourceSet;
42pub use resources::{AssignedOperation, ExecutionContext, OperationAssignments, ResourceError};
43pub use response::Response;
44pub(crate) use serving::WireTable;
45pub use serving::{
46    CHILD_METHOD, ServingError, WIRE_METHOD, WireAnswer, WireChild, WireChildAction, WireChildCall, WireChildControl, WireCodecError,
47    WireCommand, decode_prepared_grant, encode_prepared_grant,
48};
49
50#[cfg(feature = "streaming")]
51pub use serving::{WireEndpoints, WireStreamLimits, WireStreams};
52
53pub use startup::StartupError;
54#[cfg(feature = "streaming")]
55pub use streaming::{Error as StreamError, StreamInput, StreamItem, StreamOutput, StreamPermit, StreamSettings, stream};
56pub use surface::{Host, RequestClaims};
57
58/* === Imports === */
59
60// Standard Library Imports
61
62// Third Party Imports
63
64// Local Imports
65
66/* === Constants === */
67
68/* === Macros === */
69
70/* === Type Aliases === */
71
72/* === Structs === */
73
74/* === Enums === */
75
76/* === Traits === */
77
78/* === Implementations === */
79
80/* === Public Functions === */
81
82/* === Private Functions === */
83
84/* === Tests === */