diff options
Diffstat (limited to 'plugin/backend.go')
-rw-r--r-- | plugin/backend.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/plugin/backend.go b/plugin/backend.go index 449faf37c..32443a955 100644 --- a/plugin/backend.go +++ b/plugin/backend.go @@ -29,11 +29,20 @@ type ServiceBackend interface { // IsNameError return true if err indicated a record not found condition IsNameError(err error) bool + Transferer +} + +// Transferer defines an interface for backends that provide AXFR of all records. +type Transferer interface { // Serial returns a SOA serial number to construct a SOA record. Serial(state request.Request) uint32 // MinTTL returns the minimum TTL to be used in the SOA record. MinTTL(state request.Request) uint32 + + // Transfer handles a zone transfer it writes to the client just + // like any other handler. + Transfer(ctx context.Context, state request.Request) (int, error) } // Options are extra options that can be specified for a lookup. |