#context #task #drop #ctx #ctx1

tokio-tree-context

Tokio Context for launching and cancelling tasks

1 unstable release

Uses new Rust 2024

0.1.5 Mar 10, 2025

#6 in #ctx

Download history 99/week @ 2025-03-09 14/week @ 2025-03-16

113 downloads per month

Apache-2.0

9KB
97 lines

tokio-tree-context

Similar to tokio-context, but support multiple level context

Usage

Example

        let mut ctx = tokio_tree_context::Context::new();

        let mut ctx1 = ctx.new_child_context();
        let mut ctx12 = ctx1.new_child_context();

        ctx.spawn(async move {
            sleep("ctx".into(), 100).await;
        });
        ctx1.spawn(async move {
            sleep("ctx1".into(), 100).await;
        });
        ctx12.spawn(async move {
            sleep("ctx12".into(), 100).await;
        });
        println!("Cancelling CTX 1");
        drop(ctx1);
        sleep("main".into(), 5).await;
        println!("Cancelling CTX 12");
        drop(ctx12);
        sleep("main".into(), 5).await;

        println!("Cancelling CTX");
        drop(ctx);

        sleep("main".into(), 5).await;

Dependencies

~2.2–8MB
~61K SLoC