|
@@ -10,6 +10,7 @@ import (
|
|
|
type SpaceController struct {
|
|
type SpaceController struct {
|
|
|
packetDispatcher internal.PacketDispatcherWithContext
|
|
packetDispatcher internal.PacketDispatcherWithContext
|
|
|
dnsCache internal.DnsCacheWithContext
|
|
dnsCache internal.DnsCacheWithContext
|
|
|
|
|
+ pubsub internal.PubsubWithContext
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func New() *SpaceController {
|
|
func New() *SpaceController {
|
|
@@ -24,8 +25,12 @@ func (this *SpaceController) Bind(object interface{}) {
|
|
|
if dnsCache, ok := object.(internal.DnsCacheWithContext); ok {
|
|
if dnsCache, ok := object.(internal.DnsCacheWithContext); ok {
|
|
|
this.dnsCache = dnsCache
|
|
this.dnsCache = dnsCache
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ if pubsub, ok := object.(internal.PubsubWithContext); ok {
|
|
|
|
|
+ this.pubsub = pubsub
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (this *SpaceController) ForContext(tag string) app.Space {
|
|
func (this *SpaceController) ForContext(tag string) app.Space {
|
|
|
- return internal.NewSpace(tag, this.packetDispatcher, this.dnsCache)
|
|
|
|
|
|
|
+ return internal.NewSpace(tag, this.packetDispatcher, this.dnsCache, this.pubsub)
|
|
|
}
|
|
}
|