Crate allora_core

Crate allora_core 

Source
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 / Message pipeline.
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, and Exchange.
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.