mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-01 13:48:56 +08:00

* Add MQTT forwarder Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Cleanup forwarder code Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Use MQTT Publisher in MQTT forwarder Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Cleanup MQTT messaging Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Add Paho client timeout errors Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Simplify MQTT fowarder Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Fix naming in main method Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Use interface and struct instead of function Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Use Mainflux errors package Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Rename `tkn` to `token` Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Use "/" instead of "." as topic separator Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Use async MQTT Publisher Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Fix timeout errors messages Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Add connect token check Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com> * Rename package alias Signed-off-by: Dušan Borovčanin <dusan.borovcanin@mainflux.com>
30 lines
797 B
Go
30 lines
797 B
Go
// Copyright (c) Mainflux
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package messaging
|
|
|
|
// Publisher specifies message publishing API.
|
|
type Publisher interface {
|
|
// Publishes message to the stream.
|
|
Publish(topic string, msg Message) error
|
|
}
|
|
|
|
// MessageHandler represents Message handler for Subscriber.
|
|
type MessageHandler func(msg Message) error
|
|
|
|
// Subscriber specifies message subscription API.
|
|
type Subscriber interface {
|
|
// Subscribe subscribes to the message stream and consumes messages.
|
|
Subscribe(topic string, handler MessageHandler) error
|
|
|
|
// Unsubscribe unsubscribes from the message stream and
|
|
// stops consuming messages.
|
|
Unsubscribe(topic string) error
|
|
}
|
|
|
|
// PubSub represents aggregation interface for publisher and subscriber.
|
|
type PubSub interface {
|
|
Publisher
|
|
Subscriber
|
|
}
|