Skip to content

Commit

Permalink
Use matching pattern and Entry enum to add listener
Browse files Browse the repository at this point in the history
Signed-off-by: Florentin Dubois <florentin.dubois@clever-cloud.com>
  • Loading branch information
FlorentinDUBOIS committed Aug 3, 2022
1 parent a9959ba commit 9054d9c
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 28 deletions.
12 changes: 6 additions & 6 deletions lib/src/http.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1400,12 +1400,12 @@ impl Proxy {
}

pub fn add_listener(&mut self, config: HttpListener, token: Token) -> Option<Token> {
if let Entry::Vacant(e) = self.listeners.entry(token) {
let listener = Rc::new(RefCell::new(Listener::new(config, token)));
e.insert(listener);
Some(token)
} else {
None
match self.listeners.entry(token) {
Entry::Vacant(entry) => {
entry.insert(Rc::new(RefCell::new(Listener::new(config, token))));
Some(token)
}
_ => None,
}
}

Expand Down
14 changes: 8 additions & 6 deletions lib/src/https_openssl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1978,12 +1978,14 @@ impl Proxy {
}

pub fn add_listener(&mut self, config: HttpsListener, token: Token) -> Option<Token> {
if self.listeners.contains_key(&token) {
None
} else {
let listener = Rc::new(RefCell::new(Listener::try_new(config, token).ok()?));
self.listeners.insert(token, listener);
Some(token)
match self.listeners.entry(token) {
Entry::Vacant(entry) => {
entry.insert(Rc::new(RefCell::new(
Listener::try_new(config, token).ok()?,
)));
Some(token)
}
_ => None,
}
}

Expand Down
18 changes: 8 additions & 10 deletions lib/src/https_rustls/configuration.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::{
cell::RefCell,
collections::{BTreeMap, HashMap},
collections::{hash_map::Entry, BTreeMap, HashMap},
io::ErrorKind,
net::SocketAddr,
os::unix::io::AsRawFd,
Expand Down Expand Up @@ -317,15 +317,13 @@ impl Proxy {
config: HttpsListener,
token: Token,
) -> Result<Option<Token>, rustls::Error> {
Ok(
if let std::collections::hash_map::Entry::Vacant(e) = self.listeners.entry(token) {
let listener = Rc::new(RefCell::new(Listener::new(config, token)?));
e.insert(listener);
Some(token)
} else {
None
},
)
match self.listeners.entry(token) {
Entry::Vacant(entry) => {
entry.insert(Rc::new(RefCell::new(Listener::new(config, token)?)));
Ok(Some(token))
}
_ => Ok(None),
}
}

pub fn remove_listener(&mut self, address: SocketAddr) -> bool {
Expand Down
12 changes: 6 additions & 6 deletions lib/src/tcp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1160,12 +1160,12 @@ impl Proxy {
pool: Rc<RefCell<Pool>>,
token: Token,
) -> Option<Token> {
if let Entry::Vacant(e) = self.listeners.entry(token) {
let listener = Rc::new(RefCell::new(Listener::new(config, pool, token)));
e.insert(listener);
Some(token)
} else {
None
match self.listeners.entry(token) {
Entry::Vacant(entry) => {
entry.insert(Rc::new(RefCell::new(Listener::new(config, pool, token))));
Some(token)
}
_ => None,
}
}

Expand Down

0 comments on commit 9054d9c

Please sign in to comment.