@@ -17,35 +17,28 @@ public function __construct(ExecutorInterface $executor, $retries = 2)
1717
1818 public function query ($ nameserver , Query $ query )
1919 {
20- $ deferred = new Deferred ();
21-
22- $ this ->tryQuery ($ nameserver , $ query , $ this ->retries , $ deferred );
23-
24- return $ deferred ->promise ();
20+ return $ this ->tryQuery ($ nameserver , $ query , $ this ->retries );
2521 }
2622
27- public function tryQuery ($ nameserver , Query $ query , $ retries, $ deferred )
23+ public function tryQuery ($ nameserver , Query $ query , $ retries )
2824 {
2925 $ that = $ this ;
30- $ errorback = function ($ error ) use ($ nameserver , $ query , $ retries , $ deferred , $ that ) {
26+ $ errorback = function ($ error ) use ($ nameserver , $ query , $ retries , $ that ) {
3127 if (!$ error instanceof TimeoutException) {
32- $ deferred ->reject ($ error );
33- return ;
28+ throw $ error ;
3429 }
3530 if (0 >= $ retries ) {
36- $ error = new \RuntimeException (
31+ throw new \RuntimeException (
3732 sprintf ("DNS query for %s failed: too many retries " , $ query ->name ),
3833 0 ,
3934 $ error
4035 );
41- $ deferred ->reject ($ error );
42- return ;
4336 }
44- $ that ->tryQuery ($ nameserver , $ query , $ retries -1 , $ deferred );
37+ return $ that ->tryQuery ($ nameserver , $ query , $ retries -1 );
4538 };
4639
47- $ this ->executor
40+ return $ this ->executor
4841 ->query ($ nameserver , $ query )
49- ->then (array ( $ deferred , ' resolve ' ) , $ errorback );
42+ ->then (null , $ errorback );
5043 }
5144}
0 commit comments