tokio_env 0.0.1

An utility library to configure the tokio runtime via environmental variables
Documentation
# tokio-env


A configuration library for convenient setup of the [tokio](https://github.com/tokio-rs/tokio) runtime.

## Configuration


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

Usage of this library could look like this:
```rust
fn main() {
    println!("Initializing tokio runtime...");
    let exit_code = tokio_env::start_with(run)
        .expect("Failed to start tokio runtime!");
    println!("Tokio runtime exited with code: {}", exit_code)
}

async fn run() -> i32 {
    println!("Program started!");
    // Your async logic here
    0
}
```

## But... why?


I'm tired of writing the same boilerplate code over and over again, so I made it a one-liner!