forked from Deuxfleurs/diplonat
WIP loops
This commit is contained in:
parent
32d62d1349
commit
feadc844c0
3 changed files with 27 additions and 3 deletions
|
@ -18,5 +18,6 @@ export DIPLONAT_PRIVATE_IP="192.168.0.18"
|
|||
export DIPLONAT_REFRESH_TIME="60"
|
||||
export DIPLONAT_EXPIRATION_TIME="300"
|
||||
export DIPLONAT_CONSUL_NODE_NAME="lheureduthe"
|
||||
RUST_LOG=info
|
||||
cargo run
|
||||
```
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
use anyhow::{Result, Context};
|
||||
use tokio::try_join;
|
||||
use crate::*;
|
||||
|
||||
pub struct Diplonat {
|
||||
|
@ -16,7 +17,29 @@ impl Diplonat {
|
|||
return Ok(ctx);
|
||||
}
|
||||
|
||||
pub fn listen(&self) -> bool {
|
||||
return true;
|
||||
// Action sinks
|
||||
pub async fn consul_catalog(&self) -> Result<()> {
|
||||
info!("Consul catalog loop started");
|
||||
return Ok(());
|
||||
}
|
||||
pub async fn control_loop(&self) -> Result<()> {
|
||||
info!("Control loop started");
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
// Action taps
|
||||
pub async fn igd(&self) -> Result<()> {
|
||||
info!("IGD loop started");
|
||||
return Ok(());
|
||||
}
|
||||
// @TODO: implement netfilter, dns
|
||||
|
||||
pub async fn listen(&self) -> Result<()> {
|
||||
try_join!(
|
||||
self.consul_catalog(),
|
||||
self.control_loop(),
|
||||
self.igd()
|
||||
)?;
|
||||
return Ok(());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ async fn main() {
|
|||
info!("Starting Diplonat");
|
||||
|
||||
let diplo = Diplonat::new().await.expect("Setup failed");
|
||||
diplo.listen();
|
||||
diplo.listen().await.expect("A runtime error occured");
|
||||
/*
|
||||
let url = format!("http://127.0.0.1:8500/v1/catalog/node/{}", config.consul_node_name);
|
||||
let resp = reqwest::get(&url)
|
||||
|
|
Loading…
Reference in a new issue