sansio-executor 0.5.0

sansio executor
Documentation

sansio-executor

Tokio-based local executor for the sansio ecosystem.

Features

  • Tokio LocalSet: Built on tokio's LocalSet for single-threaded task execution
  • CPU Pinning: Pin executor threads to specific CPU cores
  • Thread Naming: Name executor threads for debugging
  • Task Management: Spawn, detach, and cancel tasks

Quick Start

[dependencies]
sansio-executor = "0.0.7"
use sansio_executor::LocalExecutorBuilder;

fn main() {
    LocalExecutorBuilder::default()
        .run(async {
            println!("Running on tokio!");
        });
}

Spawning Tasks

use sansio_executor::{LocalExecutorBuilder, spawn_local};

fn main() {
    LocalExecutorBuilder::default().run(async {
        let task1 = spawn_local(async {
            println!("Task 1");
            42
        });

        let task2 = spawn_local(async {
            println!("Task 2");
            100
        });

        let result1 = task1.await.unwrap();
        let result2 = task2.await.unwrap();

        println!("Results: {}, {}", result1, result2);
    });
}

Detaching Tasks

use sansio_executor::{LocalExecutorBuilder, spawn_local};

fn main() {
    LocalExecutorBuilder::default().run(async {
        let task = spawn_local(async {
            println!("Running in background");
        });

        // Detach - task continues running even though we don't await it
        task.detach();
    });
}

Documentation

For detailed documentation, see:

License

Licensed under either of:

at your option.