aboutsummaryrefslogtreecommitdiff
path: root/src/consul_actor.rs
diff options
context:
space:
mode:
authorQuentin <quentin@dufour.io>2020-07-04 17:16:21 +0200
committerQuentin <quentin@dufour.io>2020-07-04 17:16:21 +0200
commit7ec74a21d4b90a2ee9c8f4a7ce90babbebef824a (patch)
tree1e4284195676f4586cd15cb4d3e1da03a9cd11b6 /src/consul_actor.rs
parent5dd4544360906de246de9e33abbfd741681d2fea (diff)
parent4f4b6b048d53f3c4c9cc2437ba6bc6a9e70cb8c7 (diff)
downloaddiplonat-7ec74a21d4b90a2ee9c8f4a7ce90babbebef824a.tar.gz
diplonat-7ec74a21d4b90a2ee9c8f4a7ce90babbebef824a.zip
Merge pull request 'Automatically manage firewall rules (iptables) for services' (#1) from add-firewall-rules into master
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/diplonat/pulls/1
Diffstat (limited to 'src/consul_actor.rs')
-rw-r--r--src/consul_actor.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/consul_actor.rs b/src/consul_actor.rs
index 1cbb1b8..ba5d704 100644
--- a/src/consul_actor.rs
+++ b/src/consul_actor.rs
@@ -8,11 +8,12 @@ use serde::{Serialize, Deserialize};
use serde_lexpr::{from_str,error};
use crate::messages;
use crate::consul;
+use std::collections::HashSet;
#[derive(Serialize, Deserialize, Debug)]
pub enum DiplonatParameter {
- tcp_port(Vec<u16>),
- udp_port(Vec<u16>)
+ tcp_port(HashSet<u16>),
+ udp_port(HashSet<u16>)
}
#[derive(Serialize, Deserialize, Debug)]
@@ -53,8 +54,8 @@ fn to_parameters(catalog: &consul::CatalogNode) -> Vec<DiplonatConsul> {
fn to_open_ports(params: &Vec<DiplonatConsul>) -> messages::PublicExposedPorts {
let mut op = messages::PublicExposedPorts {
- tcp_ports: Vec::new(),
- udp_ports: Vec::new()
+ tcp_ports: HashSet::new(),
+ udp_ports: HashSet::new()
};
for conf in params {
@@ -73,8 +74,8 @@ fn to_open_ports(params: &Vec<DiplonatConsul>) -> messages::PublicExposedPorts {
impl ConsulActor {
pub fn new(url: &str, node: &str) -> Self {
let (tx, rx) = watch::channel(messages::PublicExposedPorts{
- tcp_ports: Vec::new(),
- udp_ports: Vec::new()
+ tcp_ports: HashSet::new(),
+ udp_ports: HashSet::new()
});
return Self {