init
This commit is contained in:
59
vendor/react/dns/src/Query/CachedExecutor.php
vendored
Executable file
59
vendor/react/dns/src/Query/CachedExecutor.php
vendored
Executable file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace React\Dns\Query;
|
||||
|
||||
use React\Dns\Model\Message;
|
||||
|
||||
/**
|
||||
* @deprecated unused, exists for BC only
|
||||
* @see CachingExecutor
|
||||
*/
|
||||
class CachedExecutor implements ExecutorInterface
|
||||
{
|
||||
private $executor;
|
||||
private $cache;
|
||||
|
||||
public function __construct(ExecutorInterface $executor, RecordCache $cache)
|
||||
{
|
||||
$this->executor = $executor;
|
||||
$this->cache = $cache;
|
||||
}
|
||||
|
||||
public function query($nameserver, Query $query)
|
||||
{
|
||||
$executor = $this->executor;
|
||||
$cache = $this->cache;
|
||||
|
||||
return $this->cache
|
||||
->lookup($query)
|
||||
->then(
|
||||
function ($cachedRecords) use ($query) {
|
||||
return Message::createResponseWithAnswersForQuery($query, $cachedRecords);
|
||||
},
|
||||
function () use ($executor, $cache, $nameserver, $query) {
|
||||
return $executor
|
||||
->query($nameserver, $query)
|
||||
->then(function ($response) use ($cache, $query) {
|
||||
$cache->storeResponseMessage($query->currentTime, $response);
|
||||
return $response;
|
||||
});
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated unused, exists for BC only
|
||||
*/
|
||||
public function buildResponse(Query $query, array $cachedRecords)
|
||||
{
|
||||
return Message::createResponseWithAnswersForQuery($query, $cachedRecords);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated unused, exists for BC only
|
||||
*/
|
||||
protected function generateId()
|
||||
{
|
||||
return mt_rand(0, 0xffff);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user