| 123456789101112131415161718192021222324252627282930313233343536373839 | package dnsimport (	"net"	"github.com/v2ray/v2ray-core/app")const (	APP_ID = app.ID(2))// A DnsCache is an internal cache of DNS resolutions.type Server interface {	Get(domain string) []net.IP}type dnsServerWithContext interface {	Get(context app.Context, domain string) []net.IP}type contextedDnsServer struct {	context  app.Context	dnsCache dnsServerWithContext}func (this *contextedDnsServer) Get(domain string) []net.IP {	return this.dnsCache.Get(this.context, domain)}func init() {	app.Register(APP_ID, func(context app.Context, obj interface{}) interface{} {		dcContext := obj.(dnsServerWithContext)		return &contextedDnsServer{			context:  context,			dnsCache: dcContext,		}	})}
 |