smb 0.6.0

A Pure Rust SMB Client implementation
use std::net::{SocketAddr, ToSocketAddrs};

pub struct TransportUtils;

impl TransportUtils {
    pub fn parse_socket_address(address: &str) -> crate::Result<SocketAddr> {
        let mut socket_addrs = address
            .to_socket_addrs()
            .map_err(|_| crate::Error::InvalidAddress(address.to_string()))?;
        socket_addrs
            .next()
            .ok_or(crate::Error::InvalidAddress(address.to_string()))
    }

    pub fn get_server_name(address: &str) -> crate::Result<String> {
        let mut parts = address.split(':');
        let server_name = parts
            .next()
            .ok_or(crate::Error::InvalidAddress(address.to_string()))?;
        Ok(server_name.to_string())
    }
}