Expand description
Allora Core – foundational message and processing types (multi-crate split).
This crate defines the fundamental primitives used by higher-level crates:
- Message / Payload
- Exchange
- Error / Result
- Processor trait (+ ClosureProcessor helper)
- Service & ServiceActivator traits
- Channel traits (Channel, PollableChannel, SubscribableChannel, CorrelationSupport)
Concrete channel implementations (DirectChannel, QueueChannel) remain in the parent crate until migration completes. This core crate intentionally avoids depending on higher-level components (adapters, endpoints, patterns) to prevent circular dependencies.
NOTE: The #service macro currently targets the root allora crate (allora:: path) and
should not be invoked inside this core crate until the macro is generalized. Thus we do NOT
re-export the macro from here.
Re-exports§
pub use channel::Channel;pub use channel::ChannelRef;pub use channel::CorrelationSupport;pub use channel::PollableChannel;pub use channel::SubscribableChannel;pub use endpoint::Endpoint;pub use endpoint::EndpointBuilder;pub use endpoint::EndpointSource;pub use endpoint::InMemoryEndpoint;pub use error::Error;pub use error::Result;pub use logging::init_from_dir as core_init_logging;pub use logging::LoggingSettings;pub use message::Exchange;pub use message::Message;pub use message::Payload;pub use patterns::filter::Filter;pub use processor::BoxedProcessor;pub use processor::ClosureProcessor;pub use processor::Processor;pub use route::Route;pub use service::Service;pub use service::ServiceActivator;
Modules§
- adapter
- Adapter abstractions: unify how external systems (inbound) and outbound endpoints
integrate with Allora’s
Exchange/Messagepipeline. - channel
- Channel module – lightweight in-process message pipes.
- endpoint
- Endpoint abstraction: a lightweight FIFO inbox for Exchanges.
- error
- Error types and result alias for Allora.
- logging
- Logging utilities (internal use).
- message
- Messaging core types:
Payload,Message, andExchange. - patterns
- Integration Patterns module: collection of Enterprise Integration Patterns (EIP) primitives.
- processor
- route
- service
- ServiceActivator trait: metadata & channel binding intent for a service (activator). Service trait: async-only business logic component.