asteroid_mq/protocol/node/raft/proposal/
load_topic.rs1use 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}