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
39
40
41
42
43
44
//! This is the application layer
//! The application layer acts as the intermediary between the human / HW interface
//! and all the necessary services that are provided / defined between app and data layers
// Dependencies
// Handle enviornment variables using the std::env mod
// use std::env;
// Example
// match env::var("MY_VAR") {
// Ok(val) => println!("MY_VAR is set to {}", val),
// Err(e) => println!("Couldn't read MY_VAR: {}", e),
// }
// ALSO
// env::set_var("MY_VAR", "some_value");
///
// Define Traits: Create Service and Message traits that will be used by your services and messages.
// Implement Services: Implement the Service trait for each of your services.
// Create Runtimes: Use an async runtime (e.g., Tokio) to handle the concurrent execution of services.
// Set Up Messaging: Implement a messaging system (e.g., using channels) to allow services to communicate.
// Integrate and Run: Integrate the services with the messenger and start them using the async runtime.
///
///
/// The main entry point of the program, the fn definition is here to be
/// consistent with the rust compilers programic expectations
///
use *;
/// The testing suite for the library can be seen here