Browse Source

Consul Actor basic logic works

main
Quentin 1 year ago
parent
commit
4cebe77b6f
  1. 6
      src/consul_actor.rs
  2. 14
      src/main.rs

6
src/consul_actor.rs

@ -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

@ -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…
Cancel
Save