non blocking handshake