final class BackendServices (View source)

The connection to the DNS backend: the provider, its API client, and the repositories and record managers that read and write through it. Every memoized instance is shared for the request so read caches are not split.

Constants

private ZONE_CACHE_FLUSH_TIMEOUT

Methods

__construct(PDO $db, ConfigurationInterface $config, LoggerInterface $logger, ActorInterface $actor, SessionInterface $session)

No description

transaction()

The request's unit of work over the same connection the repositories write through.

dnsBackendProvider()

Providers are stateless, so one shared instance serves the whole request.

apiClient()

The provider's API client, or null outside API backend mode. Sharing it keeps one set of per-request read caches for the whole request.

pdnsCapabilities()

The connected PowerDNS version, from the session cache or one fetch when the cache is empty or expired; unknown when no PowerDNS API is configured.

zoneCacheFlusher()

Null in API backend mode, where PowerDNS flushes on its own writes, and when no PowerDNS API is configured to send the flush to.

repositoryFactory(DnsBackendProviderInterface|null $backendProvider = null)

No description

dnsDataService()

No description

zoneSyncService()

The forced zone-list sync for API-backed installs; the 300s interval is the same floor the automatic sync uses.

Details

__construct(PDO $db, ConfigurationInterface $config, LoggerInterface $logger, ActorInterface $actor, SessionInterface $session)

No description

Parameters

PDO $db
ConfigurationInterface $config
LoggerInterface $logger
ActorInterface $actor
SessionInterface $session

TransactionInterface transaction()

The request's unit of work over the same connection the repositories write through.

Return Value

TransactionInterface

DnsBackendProviderInterface dnsBackendProvider()

Providers are stateless, so one shared instance serves the whole request.

PowerdnsApiClient|null apiClient()

The provider's API client, or null outside API backend mode. Sharing it keeps one set of per-request read caches for the whole request.

Return Value

PowerdnsApiClient|null

PdnsCapabilities pdnsCapabilities()

The connected PowerDNS version, from the session cache or one fetch when the cache is empty or expired; unknown when no PowerDNS API is configured.

Return Value

PdnsCapabilities

ZoneCacheFlusherInterface|null zoneCacheFlusher()

Null in API backend mode, where PowerDNS flushes on its own writes, and when no PowerDNS API is configured to send the flush to.

Return Value

ZoneCacheFlusherInterface|null

RepositoryFactory repositoryFactory(DnsBackendProviderInterface|null $backendProvider = null)

No description

Parameters

DnsBackendProviderInterface|null $backendProvider

Return Value

RepositoryFactory

ZoneRepositoryInterface zoneRepository()

No description

DomainRepositoryInterface domainRepository()

No description

RecordRepositoryInterface recordRepository()

No description

SOARecordManagerInterface soaRecordManager()

No description

DnssecProviderInterface dnssecProvider()

No description

DnsDataService dnsDataService()

No description

Return Value

DnsDataService

ZoneMetadataStoreInterface zoneMetadataStore()

No description

ConsistencyCheckerInterface consistencyChecker(ZoneChangeRequestRepositoryInterface|null $changeRequests = null)

No description

Parameters

ZoneChangeRequestRepositoryInterface|null $changeRequests

Return Value

ConsistencyCheckerInterface

PowerdnsStatusService powerdnsStatusService()

No description

Return Value

PowerdnsStatusService

ZoneSyncService zoneSyncService()

The forced zone-list sync for API-backed installs; the 300s interval is the same floor the automatic sync uses.

Return Value

ZoneSyncService