diff --git a/libraries/core/src/coordinator_messages.rs b/libraries/core/src/coordinator_messages.rs new file mode 100644 index 00000000..5c85e754 --- /dev/null +++ b/libraries/core/src/coordinator_messages.rs @@ -0,0 +1,21 @@ +use eyre::eyre; + +#[derive(Debug, serde::Serialize, serde::Deserialize)] +pub enum CoordinatorRequest { + Register { machine_id: String }, +} + +#[derive(Debug, serde::Serialize, serde::Deserialize)] +pub enum RegisterResult { + Ok, + Err(String), +} + +impl RegisterResult { + pub fn to_result(self) -> eyre::Result<()> { + match self { + RegisterResult::Ok => Ok(()), + RegisterResult::Err(err) => Err(eyre!(err)), + } + } +} diff --git a/libraries/core/src/daemon_messages.rs b/libraries/core/src/daemon_messages.rs index 375a53df..df3a849a 100644 --- a/libraries/core/src/daemon_messages.rs +++ b/libraries/core/src/daemon_messages.rs @@ -1,8 +1,14 @@ +use crate::config::{DataId, NodeId, NodeRunConfig}; use dora_message::Metadata; use eyre::Context; use shared_memory::{Shmem, ShmemConf}; -use crate::config::{DataId, NodeId}; +#[derive(Debug, serde::Serialize, serde::Deserialize)] +pub struct NodeConfig { + pub node_id: NodeId, + pub run_config: NodeRunConfig, + pub daemon_port: u16, +} #[derive(Debug, serde::Serialize, serde::Deserialize)] pub enum ControlRequest { diff --git a/libraries/core/src/lib.rs b/libraries/core/src/lib.rs index b4b20cc0..a96517dc 100644 --- a/libraries/core/src/lib.rs +++ b/libraries/core/src/lib.rs @@ -5,6 +5,7 @@ use std::{ }; pub mod config; +pub mod coordinator_messages; pub mod daemon_messages; pub mod descriptor; pub mod topics; diff --git a/libraries/core/src/topics.rs b/libraries/core/src/topics.rs index ca05fb41..23463264 100644 --- a/libraries/core/src/topics.rs +++ b/libraries/core/src/topics.rs @@ -5,7 +5,7 @@ use std::{ }; use uuid::Uuid; -pub const DORA_DAEMON_PORT_DEFAULT: u16 = 0xD02A; +pub const DORA_COORDINATOR_PORT_DEFAULT: u16 = 0xD02A; pub const MANUAL_STOP: &str = "dora/stop";