Function fork_scope_stack

View as Markdown

Generated from cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker.

pub fn fork_scope_stack() -> Result<ScopeStackHandle>

Create an isolated scope stack below the current causal parent.

Capture the parent before spawning concurrent work, then install the returned stack with TASK_SCOPE_STACK.scope(...). The fork preserves event parentage but does not transfer scope-local registrations. Because the fork does not assert a root UUID, its first local OpenTelemetry span starts a new trace.

Examples

1use nemo_relay::api::runtime::{TASK_SCOPE_STACK, fork_scope_stack};
2
3let stack = fork_scope_stack()?;
4tokio::spawn(TASK_SCOPE_STACK.scope(stack, async {
5 // Relay work in an isolated child task.
6}));