pub fn local_addr(&self) -> io::Result<ManagerSocketAddr> {
        match *self {
            Self::UdpDatagram(ref socket) => socket.local_addr().map(ManagerSocketAddr::SocketAddr),
            #[cfg(unix)]
            Self::UnixDatagram(ref dgram) => dgram.local_addr().map(ManagerSocketAddr::UnixSocketAddr),
        }
    }
Returns the local address that this socket is bound to.
crates/shadowsocks/src/manager/datagram.rs