Skip to main content

camel_component_api/
lib.rs

1//! Core component trait API — the foundation all rust-camel components implement.
2//!
3//! Main types: `Component`, `Endpoint`, `Consumer`, `ProducerContext`, `ExchangeEnvelope`, `ComponentBundle`.
4//! Main modules: `component`, `endpoint`, `consumer`, `producer`, `registrar`.
5
6pub mod bundle;
7pub mod component;
8pub mod component_context;
9pub mod consumer;
10pub mod endpoint;
11pub mod producer;
12pub mod registrar;
13
14pub use bundle::ComponentBundle;
15pub use component::Component;
16pub use component_context::{ComponentContext, NoOpComponentContext};
17pub use consumer::{ConcurrencyModel, Consumer, ConsumerContext, ExchangeEnvelope};
18pub use endpoint::Endpoint;
19pub use producer::ProducerContext;
20pub use registrar::ComponentRegistrar;
21
22// Re-export camel-api types for component convenience
23pub use camel_api::{
24    Body, BodyType, BoxProcessor, CamelError, Exchange, Message, RouteAction, RouteStatus,
25    RuntimeCommand, RuntimeCommandBus, RuntimeCommandResult, RuntimeHandle, RuntimeQuery,
26    RuntimeQueryBus, RuntimeQueryResult, StreamBody, StreamMetadata, Value,
27};
28
29// Re-export camel-endpoint types for component convenience
30pub use camel_endpoint::{UriComponents, UriConfig, parse_uri};