1use tokio::net::ToSocketAddrs;
2
3use crate::{connection::EslConnection, outbound::Outbound, EslError};
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub(crate) enum EslConnectionType {
6 Inbound,
7 Outbound,
8}
9pub struct Esl;
11impl Esl {
12 pub async fn inbound(
14 addr: impl ToSocketAddrs,
15 password: impl ToString,
16 ) -> Result<EslConnection, EslError> {
17 EslConnection::new(addr, password, EslConnectionType::Inbound).await
18 }
19
20 pub async fn outbound(addr: impl ToSocketAddrs) -> Result<Outbound, EslError> {
22 Outbound::bind(addr).await
23 }
24}