use new IO::Socket::Timeout with different API