#![cfg(feature = "dns-over-openssl")]
#![allow(dead_code)]
use std::net::SocketAddr;
use std::pin::Pin;
use futures_util::future::Future;
use proto::error::ProtoError;
use proto::openssl::{TlsClientStream, TlsClientStreamBuilder};
use proto::tcp::DnsTcpStream;
use proto::BufDnsStreamHandle;
#[allow(clippy::type_complexity)]
pub(crate) fn new_tls_stream_with_future<S, F>(
future: F,
socket_addr: SocketAddr,
dns_name: String,
) -> (
Pin<Box<dyn Future<Output = Result<TlsClientStream<S>, ProtoError>> + Send>>,
BufDnsStreamHandle,
)
where
S: DnsTcpStream,
F: Future<Output = std::io::Result<S>> + Send + Unpin + 'static,
{
TlsClientStreamBuilder::new().build_with_future(future, socket_addr, dns_name)
}