camel-api 0.36.0

Core traits and interfaces for rust-camel
Documentation
/// Compile-time hint for the OpenTelemetry span kind of a step span.
///
/// Contract: this enum is a *compile-time* hint supplied by the DSL compiler
/// when a `TracingProcessor` step span is built; the consumer converts it to
/// `opentelemetry::trace::SpanKind` once at construction. The enum is
/// `#[non_exhaustive]`: variants added in the future must degrade to
/// [`SpanKindHint::Internal`] at the consumption site, never cause a compile
/// failure downstream.
#[non_exhaustive]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum SpanKindHint {
    /// Internal span inside a route; the default for plain process steps.
    #[default]
    Internal,
    /// Producer span for a step that sends a message to a destination.
    Producer,
    /// Consumer span for a step that consumes a message from a source.
    Consumer,
    /// Client span for a synchronous outbound call.
    Client,
    /// Server span for a synchronous inbound handler.
    Server,
}