Rewrite as an object

This commit is contained in:
Quentin 2020-05-09 16:50:38 +02:00
parent 79102ba463
commit 00c2039034
4 changed files with 22 additions and 22 deletions

View File

@ -1,5 +1,5 @@
use std::env;
use anyhow::{Result, Context, Error, anyhow};
use anyhow::{Result, Context, anyhow};
use log::*;
pub struct DiplonatConfig {

View File

@ -1,14 +1,14 @@
use anyhow::{Result, Context};
use log::*;
use crate::*;
pub struct DiplonatContext {
pub struct Diplonat {
pub config: config::DiplonatConfig,
pub gateway: igd::aio::Gateway
}
pub async fn setup() -> Result<DiplonatContext> {
let ctx = DiplonatContext {
impl Diplonat {
pub async fn new() -> Result<Self> {
let ctx = Self {
config: config::load_env().context("Unable to read configuration from environment")?,
gateway: gw::get_gateway().await?
};
@ -16,6 +16,7 @@ pub async fn setup() -> Result<DiplonatContext> {
return Ok(ctx);
}
pub fn listen() -> bool {
pub fn listen(&self) -> bool {
return true;
}
}

View File

@ -1,4 +1,3 @@
use igd::aio::Gateway;
use igd::aio::search_gateway;
use anyhow::{Result, Context};
use log::*;

View File

@ -1,20 +1,20 @@
use std::net::SocketAddrV4;
//use std::collections::HashMap;
use log::*;
use igd::PortMappingProtocol;
mod diplonat;
mod config;
mod gw;
//use std::net::SocketAddrV4;
//use std::collections::HashMap;
//use igd::PortMappingProtocol;
use log::*;
use diplonat::*;
#[tokio::main]
async fn main() {
pretty_env_logger::init();
info!("Starting Diplonat");
let ctx = diplonat::setup().await.expect("Setup failed");
diplonat::listen();
let diplo = Diplonat::new().await.expect("Setup failed");
diplo.listen();
/*
let url = format!("http://127.0.0.1:8500/v1/catalog/node/{}", config.consul_node_name);
let resp = reqwest::get(&url)