Skip to content

Commit

Permalink
Control whether to pre verify addresses through configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
rmqtt committed Oct 12, 2023
1 parent 099af7b commit 49fad0d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
3 changes: 3 additions & 0 deletions rmqtt-plugins/rmqtt-cluster-raft/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ pub struct PluginConfig {
#[serde(default = "PluginConfig::task_exec_queue_max_default")]
pub task_exec_queue_max: usize,

#[serde(default)]
pub verify_addr: bool,

#[serde(default = "PluginConfig::raft_default")]
pub raft: RaftConfig,
}
Expand Down
10 changes: 8 additions & 2 deletions rmqtt-plugins/rmqtt-cluster-raft/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,9 @@ impl ClusterPlugin {
log::info!("raft_laddr: {:?}", raft_laddr);

//verify the listening address
parse_addr(&raft_laddr).await?;
if cfg.verify_addr {
parse_addr(&raft_laddr).await?;
}

let raft = Raft::new(raft_laddr, router, logger, cfg.raft.to_raft_config())
.map_err(|e| MqttError::StdError(Box::new(e)))?;
Expand All @@ -147,7 +149,11 @@ impl ClusterPlugin {
let mut peer_addrs = Vec::new();
for peer in raft_peer_addrs.iter() {
if peer.id != id {
peer_addrs.push(parse_addr(&peer.addr).await?.to_string())
if cfg.verify_addr {
peer_addrs.push(parse_addr(&peer.addr).await?.to_string());
} else {
peer_addrs.push(peer.addr.to_string());
}
}
}
log::info!("peer_addrs: {:?}", peer_addrs);
Expand Down

0 comments on commit 49fad0d

Please sign in to comment.