A configuration library for convenient setup of the tokio runtime.
All configuration is made vie environmental variables. The following variables are supported:
TOKIO_ENABLE_ALL
Whether to enable all types of thread pools. Defaults to true
.TOKIO_BLOCKING_THREADS
The amount of blocking threads to use.TOKIO_WORKER_THREADS
The amount of worker threads to use.TOKIO_THREAD_STACK_SIZE
The size of the stack for the created threads.TOKIO_THREAD_NAME
The name for the created thread pool(s).If the environment variable is not provided, it will fall back to the tokio defaults,
except for the TOKIO_ENABLE_ALL
which defaults to true
.
So an empty configuration unfolds like this:
tokio::runtime::Builder::new_multi_thread()
.enable_all()
.map(|runtime| runtime.block_on(fun));
Usage of this library could look like this: ```rust fn main() { println!("Initializing tokio runtime..."); let exitcode = tokioenv::startwith(run) .expect("Failed to start tokio runtime!"); println!("Tokio runtime exited with code: {}", exitcode) }
async fn run() -> i32 { println!("Program started!"); // Your async logic here 0 } ```
I'm tired of writing the same boilerplate code over and over again, so I made it a one-liner!