mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-09-06 03:54:22 -04:00
37 lines
690 B
Go
37 lines
690 B
Go
package app
|
|
|
|
type Space struct {
|
|
packetDispatcher PacketDispatcher
|
|
dnsCache DnsCache
|
|
}
|
|
|
|
func NewSpace() *Space {
|
|
return new(Space)
|
|
}
|
|
|
|
func (this *Space) Bind(object interface{}) {
|
|
if packetDispatcher, ok := object.(PacketDispatcher); ok {
|
|
this.packetDispatcher = packetDispatcher
|
|
}
|
|
|
|
if dnsCache, ok := object.(DnsCache); ok {
|
|
this.dnsCache = dnsCache
|
|
}
|
|
}
|
|
|
|
func (this *Space) HasPacketDispatcher() bool {
|
|
return this.packetDispatcher != nil
|
|
}
|
|
|
|
func (this *Space) PacketDispatcher() PacketDispatcher {
|
|
return this.packetDispatcher
|
|
}
|
|
|
|
func (this *Space) HasDnsCache() bool {
|
|
return this.dnsCache != nil
|
|
}
|
|
|
|
func (this *Space) DnsCache() DnsCache {
|
|
return this.dnsCache
|
|
}
|