|
@@ -0,0 +1,48 @@
|
|
|
+package message_queue
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+type MessageHandler func(queue MessageQueue, topic string, data []byte)
|
|
|
+
|
|
|
+
|
|
|
+type MessageQueue interface {
|
|
|
+ Subscribe(topic string, handler MessageHandler) error
|
|
|
+ UnSubscribe(topic string) error
|
|
|
+ Publish(topic string, data []byte) error
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func Subscribe(messageQueue MessageQueue, topic string, handler MessageHandler) error {
|
|
|
+ return messageQueue.Subscribe(topic, handler)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func UnSubscribe(messageQueue MessageQueue, topic string) error {
|
|
|
+ return messageQueue.UnSubscribe(topic)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func Publish(messageQueue MessageQueue, topic string, data []byte) error {
|
|
|
+ return messageQueue.Publish(topic, data)
|
|
|
+}
|