mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
597 B
24 lines
597 B
package internal
|
|
|
|
import (
|
|
"github.com/v2ray/v2ray-core/app"
|
|
)
|
|
|
|
type PubsubWithContext interface {
|
|
Publish(context app.Context, topic string, message app.PubsubMessage)
|
|
Subscribe(context app.Context, topic string, handler app.TopicHandler)
|
|
}
|
|
|
|
type contextedPubsub struct {
|
|
context app.Context
|
|
pubsub PubsubWithContext
|
|
}
|
|
|
|
func (this *contextedPubsub) Publish(topic string, message app.PubsubMessage) {
|
|
this.pubsub.Publish(this.context, topic, message)
|
|
}
|
|
|
|
func (this *contextedPubsub) Subscribe(topic string, handler app.TopicHandler) {
|
|
this.pubsub.Subscribe(this.context, topic, handler)
|
|
}
|