Refactor code structure by introducing global configuration and updating imports

This commit is contained in:
Noor 2025-02-06 16:51:16 +05:30
parent d5667e4cd1
commit 83fa4728c6
Signed by: noormohammedb
GPG Key ID: D83EFB8B3B967146
5 changed files with 29 additions and 29 deletions

12
src/config.rs Normal file

@ -0,0 +1,12 @@
#[derive(Debug)]
pub struct Config {
pub brain_url: String,
}
impl Default for Config {
fn default() -> Self {
let brain_url =
std::env::var("BRAIN_URL").unwrap_or_else(|_| "http://127.0.0.1:31337".to_string());
Self { brain_url }
}
}

6
src/global.rs Normal file

@ -0,0 +1,6 @@
pub const NODE_PUBKEY: &str = "0xd0837609aedd53854651210327db90f5c2626188a00e940bbc9eea2c7e6838b7";
pub const ADMIN_PUBKEY: &str = "0x28a3a71197250b0fa4dd0f86288e07ec9cc78ce3338e21e2ebef84dd7780e3eb";
pub const PACKAGE_ARCHIVE_POSTFIX: &str = "-enclave_packager.tar.gz";
pub const PACKAGE_ARCHIVE_DIR_PATH: &str = "./enclave_archives";
pub const PACKAGE_DIR_PATH: &str = "./enclaves";

@ -11,8 +11,8 @@ use tokio_stream::wrappers::ReceiverStream;
use tokio_stream::StreamExt;
use tonic::transport::Channel;
use crate::global::{ADMIN_PUBKEY, NODE_PUBKEY};
use crate::utils::IP_INFO;
use crate::{ADMIN_PUBKEY, NODE_PUBKEY};
pub struct ConnectionData {
pub brain_url: String,

@ -1,11 +1,10 @@
pub mod config;
pub mod container;
pub mod data;
pub mod global;
pub mod grpc;
pub mod utils;
use std::time::Duration;
pub use data::DaemonState;
use detee_shared::pb::brain::brain_message_app;
use detee_shared::pb::brain::daemon_message_app;
use detee_shared::pb::brain::AppContract;
@ -13,44 +12,27 @@ use detee_shared::pb::brain::BrainMessageApp;
use detee_shared::pb::brain::DaemonMessageApp;
use detee_shared::pb::brain::MappedPort;
use detee_shared::pb::brain::NewAppRes;
use detee_shared::types::brain::AppDeployConfig;
use std::time::Duration;
use tokio::sync::mpsc::Receiver;
use tokio::sync::mpsc::Sender;
use tokio::time::sleep;
use utils::cleanup_enclave_disk_and_package;
use utils::handle_package;
const NODE_PUBKEY: &str = "0xd0837609aedd53854651210327db90f5c2626188a00e940bbc9eea2c7e6838b7";
const ADMIN_PUBKEY: &str = "0x28a3a71197250b0fa4dd0f86288e07ec9cc78ce3338e21e2ebef84dd7780e3eb";
const PACKAGE_ARCHIVE_POSTFIX: &str = "-enclave_packager.tar.gz";
const PACKAGE_ARCHIVE_DIR_PATH: &str = "./enclave_archives";
const PACKAGE_DIR_PATH: &str = "./enclaves";
pub use crate::config::Config;
pub use crate::data::DaemonState;
#[derive(Debug)]
pub struct Config {
pub brain_url: String,
}
impl Default for Config {
fn default() -> Self {
let brain_url =
std::env::var("BRAIN_URL").unwrap_or_else(|_| "http://127.0.0.1:31337".to_string());
Self { brain_url }
}
}
#[derive(Debug)]
pub struct ContainerHandler {
pub struct AppHandler {
pub receiver: Receiver<BrainMessageApp>,
pub sender: Sender<DaemonMessageApp>,
pub config: Config,
pub data: DaemonState,
}
impl ContainerHandler {
impl AppHandler {
pub fn new(receiver: Receiver<BrainMessageApp>, sender: Sender<DaemonMessageApp>) -> Self {
Self {
receiver,
@ -163,7 +145,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
let (brain_msg_tx, brain_msg_rx) = tokio::sync::mpsc::channel(6);
let (daemon_msg_tx, daemon_msg_rx) = tokio::sync::mpsc::channel(6);
let mut container_handler = ContainerHandler::new(brain_msg_rx, daemon_msg_tx.clone());
let mut container_handler = AppHandler::new(brain_msg_rx, daemon_msg_tx.clone());
let brain_url = container_handler.config.brain_url.clone();
match grpc::register_node(&container_handler.config).await {

@ -10,7 +10,7 @@ use tokio::io::AsyncWriteExt;
use tokio::net::TcpListener;
use tokio::{fs, fs::File};
use crate::{PACKAGE_ARCHIVE_DIR_PATH, PACKAGE_ARCHIVE_POSTFIX, PACKAGE_DIR_PATH};
use crate::global::{PACKAGE_ARCHIVE_DIR_PATH, PACKAGE_ARCHIVE_POSTFIX, PACKAGE_DIR_PATH};
pub static IP_INFO: LazyLock<IPInfo> = LazyLock::new(|| get_ip_info().unwrap());