Right now, NetworkInterfaceASIO::now() relies on Date_t::now(). For our tests, we rely on having a precise control on time (e.g. see AsyncOpTimeout test). However, before we start a timer, NIA alters the timeout to reflect the amount of time that passed since starting the connection. When looking at an unstable wall clock, this can cause a hang when the test expects advancing time by exactly 1001ms to always cancel an operation that had a timeout of 1000ms.
The solution is to add a ::now() method to the async timer factory interface.