don't catch throwable
removed some raw exceptions
extracted connection future for reusing it for UDP client