#include "net/dns/dns_config_service.h"
#include <memory>
#include <optional>
#include <string>
#include "base/check_op.h"
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/notreached.h"
#include "base/sequence_checker.h"
#include "base/task/sequenced_task_runner.h"
#include "base/threading/scoped_blocking_call.h"
#include "base/time/time.h"
#include "net/dns/dns_hosts.h"
#include "net/dns/serial_worker.h"
namespace net {
const base::TimeDelta DnsConfigService::kInvalidationTimeout = …;
DnsConfigService::DnsConfigService(
base::FilePath::StringPieceType hosts_file_path,
std::optional<base::TimeDelta> config_change_delay)
: … { … }
DnsConfigService::~DnsConfigService() { … }
void DnsConfigService::ReadConfig(const CallbackType& callback) { … }
void DnsConfigService::WatchConfig(const CallbackType& callback) { … }
void DnsConfigService::RefreshConfig() { … }
DnsConfigService::Watcher::Watcher(DnsConfigService& service)
: … { … }
DnsConfigService::Watcher::~Watcher() { … }
void DnsConfigService::Watcher::OnConfigChanged(bool succeeded) { … }
void DnsConfigService::Watcher::OnHostsChanged(bool succeeded) { … }
void DnsConfigService::Watcher::CheckOnCorrectSequence() { … }
DnsConfigService::HostsReader::HostsReader(
base::FilePath::StringPieceType hosts_file_path,
DnsConfigService& service)
: … { … }
DnsConfigService::HostsReader::~HostsReader() = default;
DnsConfigService::HostsReader::WorkItem::WorkItem(
std::unique_ptr<DnsHostsParser> dns_hosts_parser)
: … { … }
DnsConfigService::HostsReader::WorkItem::~WorkItem() = default;
std::optional<DnsHosts> DnsConfigService::HostsReader::WorkItem::ReadHosts() { … }
bool DnsConfigService::HostsReader::WorkItem::AddAdditionalHostsTo(
DnsHosts& in_out_dns_hosts) { … }
void DnsConfigService::HostsReader::WorkItem::DoWork() { … }
std::unique_ptr<SerialWorker::WorkItem>
DnsConfigService::HostsReader::CreateWorkItem() { … }
bool DnsConfigService::HostsReader::OnWorkFinished(
std::unique_ptr<SerialWorker::WorkItem> serial_worker_work_item) { … }
void DnsConfigService::ReadHostsNow() { … }
void DnsConfigService::InvalidateConfig() { … }
void DnsConfigService::InvalidateHosts() { … }
void DnsConfigService::OnConfigRead(DnsConfig config) { … }
void DnsConfigService::OnHostsRead(DnsHosts hosts) { … }
void DnsConfigService::StartTimer() { … }
void DnsConfigService::OnTimeout() { … }
void DnsConfigService::OnCompleteConfig() { … }
void DnsConfigService::OnConfigChanged(bool succeeded) { … }
void DnsConfigService::OnHostsChanged(bool succeeded) { … }
void DnsConfigService::OnConfigChangedDelayed(bool succeeded) { … }
}