summaryrefslogtreecommitdiff
path: root/pkg/pubsub/interface.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/pubsub/interface.go')
-rw-r--r--pkg/pubsub/interface.go18
1 files changed, 11 insertions, 7 deletions
diff --git a/pkg/pubsub/interface.go b/pkg/pubsub/interface.go
index d021dbbe..06252d70 100644
--- a/pkg/pubsub/interface.go
+++ b/pkg/pubsub/interface.go
@@ -1,7 +1,5 @@
package pubsub
-import websocketsv1 "github.com/spiral/roadrunner/v2/pkg/proto/websockets/v1beta"
-
/*
This interface is in BETA. It might be changed.
*/
@@ -16,6 +14,11 @@ type PubSub interface {
Reader
}
+type SubReader interface {
+ Subscriber
+ Reader
+}
+
// Subscriber defines the ability to operate as message passing broker.
// BETA interface
type Subscriber interface {
@@ -33,18 +36,19 @@ type Subscriber interface {
// BETA interface
type Publisher interface {
// Publish one or multiple Channel.
- Publish(messages []byte) error
+ Publish(message *Message) error
// PublishAsync publish message and return immediately
// If error occurred it will be printed into the logger
- PublishAsync(messages []byte)
+ PublishAsync(message *Message)
}
// Reader interface should return next message
type Reader interface {
- Next() (*websocketsv1.Message, error)
+ Next() (*Message, error)
}
-type PSProvider interface {
- PSProvide(key string) (PubSub, error)
+// Constructor is a special pub-sub interface made to return a constructed PubSub type
+type Constructor interface {
+ PSConstruct(key string) (PubSub, error)
}