harmos-sdk 0.1.7

Harmos SDK for authoring plugins and operations over the Harmos runtime.
Documentation
/* ***
 *
 * Harmos
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * ***
 */

/* === Modules === */

pub mod access;
mod authored;
mod calls;
mod dependencies;
pub mod instance;
pub mod instances;
pub mod lifecycle;
mod operation;
pub mod publication;
pub mod registration;
pub(crate) mod response;
mod serving;

#[cfg(feature = "streaming")]
pub mod streaming;
mod surface;

/* === Re-Exports === */

#[doc(hidden)]
pub use authored::Carrier;
pub use authored::{EndpointSet, Executable, InputEndpoint, OutputEndpoint};
pub use calls::{CallFuture, Caller, Calls, InvocationError, Target};
pub use dependencies::{AssignedOperation, Dependencies, ExecutionContext, OperationAssignments, ResourceError};
pub use harmos_domain::operations::*;
pub use instance::Instance;
pub use operation::{Authored, Context, Dependent, Operation, Resource, Shape, Streams};
pub use registration::{NativeInstance, OperationFactory, RegistrationBatch, ServiceFactory, ServiceInstance};
pub use response::Response;
pub use serving::{
    CHILD_METHOD, ServingError, WIRE_METHOD, WireAnswer, WireChild, WireChildAction, WireChildCall, WireChildControl, WireCodecError,
    WireCommand, WireTable, decode_prepared_grant, encode_prepared_grant,
};

#[cfg(feature = "streaming")]
pub use serving::{WireEndpoints, WireStreamLimits, WireStreams};

#[cfg(feature = "streaming")]
pub use streaming::{Error as StreamError, StreamInput, StreamItem, StreamOutput, StreamPermit, StreamSettings, stream};
pub use surface::{Host, RequestClaims};

/* === Imports === */

// Standard Library Imports

// Third Party Imports

// Local Imports

/* === Constants === */

/* === Macros === */

/* === Type Aliases === */

/* === Structs === */

/* === Enums === */

/* === Traits === */

/* === Implementations === */

/* === Public Functions === */

/* === Private Functions === */

/* === Tests === */