use std::net::SocketAddr;
use alpine::crypto::identity::NodeCredentials;
use alpine::messages::{CapabilitySet, DeviceIdentity};
use crate::{error::AlpineSdkError, session::AlpineClient};
pub async fn connect(
local_addr: SocketAddr,
remote_addr: SocketAddr,
identity: DeviceIdentity,
capabilities: CapabilitySet,
credentials: NodeCredentials,
) -> Result<AlpineClient, AlpineSdkError> {
AlpineClient::connect(local_addr, remote_addr, identity, capabilities, credentials).await
}