pub mod dsl; pub mod runtime;
pub mod service_activator_processor;
pub mod spec; pub use adapter::{
ensure_correlation, Adapter, InboundAdapter, OutboundAdapter, OutboundDispatchResult,
};
pub use allora_core::channel;
pub use allora_core::endpoint;
pub use allora_core::error;
pub use allora_core::logging;
pub use allora_core::message;
pub use allora_core::patterns;
pub use allora_core::processor;
pub use allora_core::route;
pub use allora_core::service;
pub use allora_core::Filter;
pub use allora_core::Route;
pub use allora_core::{Endpoint, EndpointBuilder, EndpointSource, InMemoryEndpoint};
pub use allora_http::{
HttpInboundAdapter,
HttpInboundBuilder,
HttpOutboundAdapter,
HttpOutboundAdapterBuilder,
Mep,
InboundHttpExt,
OutboundHttpExt,
};
pub use channel::{
Channel, ChannelRef, CorrelationSupport, DirectChannel, PollableChannel, QueueChannel,
SubscribableChannel,
};
pub use dsl::runtime::AlloraRuntime;
pub use dsl::{
build, build_channel, build_channel_from_str, build_filter, build_service, DslFormat,
};
pub use error::{Error, Result};
pub use message::{Exchange, Message, Payload};
pub use processor::{BoxedProcessor, ClosureProcessor, Processor};
pub use runtime::Runtime;
pub use service::{Service, ServiceActivator};
#[derive(Clone)]
pub struct ServiceDescriptor {
pub name: &'static str,
pub constructor: fn() -> Arc<dyn Service>,
}
inventory::collect!(ServiceDescriptor);
pub fn all_service_descriptors() -> Vec<&'static ServiceDescriptor> {
let mut v = Vec::new();
for d in inventory::iter::<ServiceDescriptor> {
v.push(d);
}
v
}
pub mod adapter {
pub use allora_core::adapter::{
ensure_correlation,
BaseAdapter,
InboundAdapter,
OutboundAdapter,
OutboundDispatchResult,
Adapter,
InboundStage,
OutboundStage,
};
pub use allora_http::{
HttpInboundAdapter,
HttpInboundBuilder,
HttpOutboundAdapter,
HttpOutboundAdapterBuilder,
Mep,
InboundHttpExt,
OutboundHttpExt,
};
}
pub use inventory;
use std::sync::Arc;