Skip to main content

asteroid_mq/protocol/node/raft/proposal/
load_topic.rs

1use serde::{Deserialize, Serialize};
2
3use crate::{
4    prelude::DurableMessage, protocol::node::raft::state_machine::topic::config::TopicConfig,
5};
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct LoadTopic {
9    pub config: TopicConfig,
10    pub queue: Vec<DurableMessage>,
11}
12
13impl LoadTopic {
14    pub fn from_config<C: Into<TopicConfig>>(config: C) -> Self {
15        Self {
16            config: config.into(),
17            queue: Vec::new(),
18        }
19    }
20}