30 lines
546 B
Rust
30 lines
546 B
Rust
use anyhow::Result;
|
|
use futures::future::try_join_all;
|
|
use log::*;
|
|
use crate::consul_actor::ConsulActor;
|
|
use crate::environment::Environment;
|
|
|
|
pub struct Diplonat {
|
|
consul: ConsulActor
|
|
}
|
|
|
|
impl Diplonat {
|
|
pub async fn new() -> Result<Self> {
|
|
let env = Environment::new()?;
|
|
|
|
let ctx = Self {
|
|
consul: ConsulActor::new(&env.consul_url, &env.consul_node_name)
|
|
};
|
|
|
|
return Ok(ctx);
|
|
}
|
|
|
|
pub async fn listen(&mut self) -> Result<()> {
|
|
try_join_all(vec![
|
|
self.consul.listen()
|
|
]).await?;
|
|
|
|
return Ok(());
|
|
}
|
|
}
|