1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright © 2024 Stephan Kunz
//! `#[main(...)]` macro for `DiMAS`
//!
extern crate proc_macro;
use TokenStream;
/// Marks async main functions to be executed by a multi threaded tokio runtime
///
/// Note: This macro can only be used on the `main` function.
///
/// # Usage
/// ```no_test
/// #[dimas::main]
/// async fn main() {
/// // your code
/// ...
/// }
/// ```
///
/// ## Increase Worker threads
/// `DiMAS` creates a minimum of 3 worker threads within tokio runtime.
///
/// To increase the amount of worker threads, the macro can be configured using
///
/// ```no_test
/// #[dimas::main(additional_threads = 5)] // adds additional 5 threads to the default of 3
/// ```
///