Consul Actor basic logic works
This commit is contained in:
parent
efbbc17f82
commit
4cebe77b6f
2 changed files with 10 additions and 10 deletions
|
@ -23,7 +23,7 @@ fn retry_to_time(retries: u32, max_time: Duration) -> Duration {
|
|||
}
|
||||
|
||||
impl ConsulActor {
|
||||
fn new(url: &str, node: &str) -> Self {
|
||||
pub fn new(url: &str, node: &str) -> Self {
|
||||
let (tx, rx) = watch::channel(messages::OpenPorts{ports: Vec::new() });
|
||||
return Self {
|
||||
consul: Consul::new(url),
|
||||
|
@ -34,7 +34,7 @@ impl ConsulActor {
|
|||
};
|
||||
}
|
||||
|
||||
async fn listen(&mut self) -> Result<()> {
|
||||
pub async fn listen(&mut self) -> Result<()> {
|
||||
loop {
|
||||
let catalog = match self.consul.watch_node(&self.node).await {
|
||||
Ok(c) => c,
|
||||
|
@ -46,6 +46,8 @@ impl ConsulActor {
|
|||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
info!("{:#?}", catalog);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
14
src/main.rs
14
src/main.rs
|
@ -6,21 +6,19 @@ mod consul_actor;
|
|||
//use std::collections::HashMap;
|
||||
//use igd::PortMappingProtocol;
|
||||
use log::*;
|
||||
use consul::*;
|
||||
use consul_actor::*;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
pretty_env_logger::init();
|
||||
info!("Starting Diplonat");
|
||||
pretty_env_logger::init();
|
||||
info!("Starting Diplonat");
|
||||
/*
|
||||
let diplo = Diplonat::new().await.expect("Setup failed");
|
||||
diplo.listen().await.expect("A runtime error occured");
|
||||
*/
|
||||
let mut c = Consul::new("http://127.0.0.1:8500");
|
||||
let cn = c.watch_node("lheureduthe").await.expect("Failed to fetch API");
|
||||
println!("{:#?}", cn);
|
||||
let cn2 = c.watch_node("lheureduthe").await.expect("Failed to fetch API");
|
||||
println!("{:#?}", cn2);
|
||||
|
||||
let mut ca = ConsulActor::new("http://127.0.0.1:8500", "lheureduthe");
|
||||
ca.listen().await.expect("Oooooops");
|
||||
|
||||
/*
|
||||
let gateway = match search_gateway(Default::default()).await {
|
||||
|
|
Loading…
Reference in a new issue