Compare commits
No commits in common. "main" and "v0.3.0" have entirely different histories.
@ -6,12 +6,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
## [0.4.0] - 2024-08-07
|
|
||||||
|
|
||||||
### Added
|
|
||||||
- add correction
|
|
||||||
- add small docs
|
|
||||||
|
|
||||||
## [0.3.0] - 2024-08-07
|
## [0.3.0] - 2024-08-07
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -236,7 +236,7 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mad"
|
name = "mad"
|
||||||
version = "0.3.0"
|
version = "0.2.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
@ -3,7 +3,7 @@ members = ["crates/*"]
|
|||||||
resolver = "2"
|
resolver = "2"
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.4.0"
|
version = "0.3.0"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
mad = { path = "crates/mad" }
|
mad = { path = "crates/mad" }
|
||||||
|
@ -41,11 +41,3 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Examples
|
|
||||||
|
|
||||||
Can be found (here)[crates/mad/examples]
|
|
||||||
|
|
||||||
- basic
|
|
||||||
- fn
|
|
||||||
- signals
|
|
||||||
- error_log
|
|
||||||
|
@ -10,7 +10,7 @@ impl mad::Component for WaitServer {
|
|||||||
Some("WaitServer".into())
|
Some("WaitServer".into())
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn run(&self, _cancellation: CancellationToken) -> Result<(), mad::MadError> {
|
async fn run(&self, cancellation: CancellationToken) -> Result<(), mad::MadError> {
|
||||||
let millis_wait = rand::thread_rng().gen_range(500..3000);
|
let millis_wait = rand::thread_rng().gen_range(500..3000);
|
||||||
|
|
||||||
tracing::debug!("waiting: {}ms", millis_wait);
|
tracing::debug!("waiting: {}ms", millis_wait);
|
||||||
@ -28,11 +28,9 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
.with_max_level(Level::TRACE)
|
.with_max_level(Level::TRACE)
|
||||||
.init();
|
.init();
|
||||||
|
|
||||||
let item = "some item".to_string();
|
|
||||||
|
|
||||||
mad::Mad::builder()
|
mad::Mad::builder()
|
||||||
.add(WaitServer {})
|
.add(WaitServer {})
|
||||||
.add_fn(|_cancel| async move {
|
.add_fn(|cancel| async move {
|
||||||
let millis_wait = 50;
|
let millis_wait = 50;
|
||||||
|
|
||||||
tracing::debug!("waiting: {}ms", millis_wait);
|
tracing::debug!("waiting: {}ms", millis_wait);
|
||||||
@ -42,24 +40,6 @@ async fn main() -> anyhow::Result<()> {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
.add_fn(move |_cancel| {
|
|
||||||
// I am an actual closure
|
|
||||||
|
|
||||||
let item = item.clone();
|
|
||||||
|
|
||||||
async move {
|
|
||||||
let _item = item;
|
|
||||||
|
|
||||||
let millis_wait = 50;
|
|
||||||
|
|
||||||
tracing::debug!("waiting: {}ms", millis_wait);
|
|
||||||
|
|
||||||
// Simulates a server running for some time. Is normally supposed to be futures blocking indefinitely
|
|
||||||
tokio::time::sleep(std::time::Duration::from_millis(millis_wait)).await;
|
|
||||||
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.run()
|
.run()
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
|
@ -94,7 +94,6 @@ impl Mad {
|
|||||||
|
|
||||||
let close_result = self.close_components().await;
|
let close_result = self.close_components().await;
|
||||||
|
|
||||||
tracing::info!("mad is closed down");
|
|
||||||
match (run_result, close_result) {
|
match (run_result, close_result) {
|
||||||
(Err(run), Err(close)) => {
|
(Err(run), Err(close)) => {
|
||||||
return Err(MadError::AggregateError(AggregateError {
|
return Err(MadError::AggregateError(AggregateError {
|
||||||
|
Loading…
Reference in New Issue
Block a user