| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- package internal
 
- import (
 
- 	"github.com/v2ray/v2ray-core/app"
 
- )
 
- type Space struct {
 
- 	packetDispatcher PacketDispatcherWithContext
 
- 	dnsCache         DnsCacheWithContext
 
- 	pubsub           PubsubWithContext
 
- 	tag              string
 
- }
 
- func NewSpace(tag string, packetDispatcher PacketDispatcherWithContext, dnsCache DnsCacheWithContext, pubsub PubsubWithContext) *Space {
 
- 	return &Space{
 
- 		tag:              tag,
 
- 		packetDispatcher: packetDispatcher,
 
- 		dnsCache:         dnsCache,
 
- 		pubsub:           pubsub,
 
- 	}
 
- }
 
- func (this *Space) HasPacketDispatcher() bool {
 
- 	return this.packetDispatcher != nil
 
- }
 
- func (this *Space) PacketDispatcher() app.PacketDispatcher {
 
- 	return &contextedPacketDispatcher{
 
- 		packetDispatcher: this.packetDispatcher,
 
- 		context: &contextImpl{
 
- 			callerTag: this.tag,
 
- 		},
 
- 	}
 
- }
 
- func (this *Space) HasDnsCache() bool {
 
- 	return this.dnsCache != nil
 
- }
 
- func (this *Space) DnsCache() app.DnsCache {
 
- 	return &contextedDnsCache{
 
- 		dnsCache: this.dnsCache,
 
- 		context: &contextImpl{
 
- 			callerTag: this.tag,
 
- 		},
 
- 	}
 
- }
 
- func (this *Space) HasPubsub() bool {
 
- 	return this.pubsub != nil
 
- }
 
- func (this *Space) Pubsub() app.Pubsub {
 
- 	return &contextedPubsub{
 
- 		pubsub: this.pubsub,
 
- 		context: &contextImpl{
 
- 			callerTag: this.tag,
 
- 		},
 
- 	}
 
- }
 
 
  |