// Code generated by "go run dsorr_generate.go"; DO NOT EDIT.

package dns

func (rr *KEEPALIVE) Header() *Header  { return &Header{Name: "."} }
func (rr *KEEPALIVE) Stateful() bool   { return true }
func (rr *RETRYDELAY) Header() *Header { return &Header{Name: "."} }
func (rr *RETRYDELAY) Stateful() bool  { return true }
func (rr *DPADDING) Header() *Header   { return &Header{Name: "."} }
func (rr *DPADDING) Stateful() bool    { return true }

// StatefulToRR is a map of constructors for each DSO RR type.
var StatefulToRR = map[uint16]func() DSO{
	StatefulKEEPALIVE:  func() DSO { return new(KEEPALIVE) },
	StatefulRETRYDELAY: func() DSO { return new(RETRYDELAY) },
	StatefulDPADDING:   func() DSO { return new(DPADDING) },
}

// RRToStateful is the reverse of StatefulToRR, implemented as a function.
func RRToStateful(rr DSO) uint16 {
	switch rr.(type) {
	case *KEEPALIVE:
		return StatefulKEEPALIVE
	case *RETRYDELAY:
		return StatefulRETRYDELAY
	case *DPADDING:
		return StatefulDPADDING
	}
	return StatefulNone
}

// StatefulToString is a map of strings for each DSO RR type.
var StatefulToString = map[uint16]string{
	StatefulKEEPALIVE:  "KEEPALIVE",
	StatefulRETRYDELAY: "RETRYDELAY",
	StatefulDPADDING:   "DPADDING",
}
