pub fn handshake(
    private_id: Id, 
    socket: UdpSocket, 
    address: SocketAddr, 
    my_uid: String, 
    peer_uid: String, 
    config: Config
) -> Result<Link, AetherError>pub fn handshake(
    private_id: Id, 
    socket: UdpSocket, 
    address: SocketAddr, 
    my_uid: String, 
    peer_uid: String, 
    config: Config
) -> Result<Link, AetherError>