//! OpenTelemetry context propagation helpers for async boundaries.
//!
//! The SDK uses `tokio::spawn` in `run()`. Those spawned futures are wrapped
//! with `FutureExt::with_context()` so the caller's `OTel` context is
//! re-attached on every poll, surviving task migration across tokio worker
//! threads. `run_turn()` executes directly in the caller task and therefore
//! does not need an extra spawn propagation hop.
use Context;
use ;
/// Capture the current `OTel` context for propagation into a spawned task.
///
/// Call this at the public API boundary (before `tokio::spawn`) and pass
/// the returned `Context` via `FutureExt::with_context()`.
/// Capture the current `OTel` context and replace the active span.
///
/// This is used after starting a span that should become the parent for work
/// performed inside an async sub-future while preserving any existing baggage
/// from the caller context.