ensure dht exists before calling listen