melib: move lookup_ipv4() to connection module

master
Manos Pitsidianakis 2020-07-13 18:51:29 +03:00
parent 9db6b07b71
commit c7bbf7ed7e
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
2 changed files with 14 additions and 15 deletions

View File

@ -21,7 +21,7 @@
use super::protocol_parser::{ImapLineSplit, ImapResponse, RequiredResponses}; use super::protocol_parser::{ImapLineSplit, ImapResponse, RequiredResponses};
use crate::backends::MailboxHash; use crate::backends::MailboxHash;
use crate::connections::Connection; use crate::connections::{lookup_ipv4, Connection};
use crate::email::parser::BytesExt; use crate::email::parser::BytesExt;
use crate::error::*; use crate::error::*;
extern crate native_tls; extern crate native_tls;
@ -31,7 +31,6 @@ pub use smol::Async as AsyncWrapper;
use std::collections::HashSet; use std::collections::HashSet;
use std::future::Future; use std::future::Future;
use std::iter::FromIterator; use std::iter::FromIterator;
use std::net::SocketAddr;
use std::pin::Pin; use std::pin::Pin;
use std::sync::Arc; use std::sync::Arc;
use std::time::Instant; use std::time::Instant;
@ -758,16 +757,3 @@ async fn read(
} }
None None
} }
fn lookup_ipv4(host: &str, port: u16) -> Result<SocketAddr> {
use std::net::ToSocketAddrs;
let addrs = (host, port).to_socket_addrs()?;
for addr in addrs {
if let SocketAddr::V4(_) = addr {
return Ok(addr);
}
}
Err(MeliError::new("Cannot lookup address"))
}

View File

@ -139,3 +139,16 @@ impl std::os::unix::io::AsRawFd for Connection {
} }
} }
} }
pub fn lookup_ipv4(host: &str, port: u16) -> crate::Result<std::net::SocketAddr> {
use std::net::ToSocketAddrs;
let addrs = (host, port).to_socket_addrs()?;
for addr in addrs {
if let std::net::SocketAddr::V4(_) = addr {
return Ok(addr);
}
}
Err(crate::error::MeliError::new("Cannot lookup address"))
}