Documentation ¶
Index ¶
- Constants
- func ClientOptionsFromURL(serverURL string) (*paho.ClientOptions, string, error)
- func MatchTopic(topic, pattern string) bool
- type ConnectHandler
- type Connector
- type ControllerConn
- type Handler
- type Queue
- func (q *Queue) Close() error
- func (q *Queue) Connect() paho.Token
- func (q *Queue) ConnectionLostHandler(c paho.Client, err error)
- func (q *Queue) OnConnectHandler(paho.Client)
- func (q *Queue) Pub(topic string, payload []byte) paho.Token
- func (q *Queue) PubWith(topic string, payload []byte, qos byte, retain bool) paho.Token
- func (q *Queue) Resubscribe() paho.Token
- func (q *Queue) Sub(topic string, handler Handler) *Subscription
- type ReadWriter
- func (p *ReadWriter) ForConnector(ref l1.ControllerRef) *ReadWriter
- func (p *ReadWriter) ForController(ref l1.ControllerRef) *ReadWriter
- func (p *ReadWriter) ReadPacket() ([]byte, error)
- func (p *ReadWriter) Run(ctx context.Context) error
- func (p *ReadWriter) WithTopics(sub, pub string) *ReadWriter
- func (p *ReadWriter) WritePacket(pkt []byte) error
- type Registrar
- type Subscription
Constants ¶
const DefaultDiscoverTimeout = 500 * time.Millisecond
DefaultDiscoverTimeout defines the default timeout value of discovery.
Variables ¶
This section is empty.
Functions ¶
func ClientOptionsFromURL ¶
func ClientOptionsFromURL(serverURL string) (*paho.ClientOptions, string, error)
ClientOptionsFromURL creates ClientOptions from URL.
func MatchTopic ¶
MatchTopic matches topic with pattern.
Types ¶
type ConnectHandler ¶
type ConnectHandler func(*Queue)
ConnectHandler is to handle connect/disconnect events.
type Connector ¶
Connector implements l1.Connector using MQTT.
func NewConnector ¶
NewConnector creates a Connector.
func (*Connector) Connect ¶
func (c *Connector) Connect(ctx context.Context, ref l1.ControllerRef) (l1.ControllerConn, error)
Connect implements Connector.
type ControllerConn ¶
type ControllerConn struct { comm.ControllerConn Queue *Queue }
ControllerConn implements ControllerConn using MQTT.
type Queue ¶
type Queue struct { Client paho.Client TopicPrefix string OnConnect ConnectHandler OnDisconnect ConnectHandler // contains filtered or unexported fields }
Queue wraps MQTT client.
func NewQueue ¶
func NewQueue(options *paho.ClientOptions, topicPrefix string) *Queue
NewQueue creates Queue.
func NewQueueFromURL ¶
NewQueueFromURL creates Queue from URL.
func (*Queue) ConnectionLostHandler ¶
ConnectionLostHandler is the default implementation of paho.ConnectLostHandler.
func (*Queue) OnConnectHandler ¶
OnConnectHandler is the default implementation of paho.OnConnectHandler.
func (*Queue) Resubscribe ¶
Resubscribe is used in OnConnect handler to subscribe all existing topics.
type ReadWriter ¶
type ReadWriter struct { Queue *Queue SubTopic string PubTopic string // contains filtered or unexported fields }
ReadWriter implements PacketReadWriter.
func NewPacketReadWriter ¶
func NewPacketReadWriter(q *Queue) *ReadWriter
NewPacketReadWriter creates the ReadWriter.
func (*ReadWriter) ForConnector ¶
func (p *ReadWriter) ForConnector(ref l1.ControllerRef) *ReadWriter
ForConnector sets topics using default convention for connector: SubTopic = prefix/msg PubTopic = prefix/cmd
func (*ReadWriter) ForController ¶
func (p *ReadWriter) ForController(ref l1.ControllerRef) *ReadWriter
ForController sets topics using default convention for L1 controller: SubTopic = prefix/cmd PubTopic = prefix/msg
func (*ReadWriter) ReadPacket ¶
func (p *ReadWriter) ReadPacket() ([]byte, error)
ReadPacket implements PacketReader.
func (*ReadWriter) Run ¶
func (p *ReadWriter) Run(ctx context.Context) error
Run implements Runnable.
func (*ReadWriter) WithTopics ¶
func (p *ReadWriter) WithTopics(sub, pub string) *ReadWriter
WithTopics specifies the topics.
func (*ReadWriter) WritePacket ¶
func (p *ReadWriter) WritePacket(pkt []byte) error
WritePacket implements PacketWriter.
type Registrar ¶
type Registrar struct { Queue *Queue Info l1.ControllerInfo // contains filtered or unexported fields }
Registrar implements l1.Registrar using MQTT.
func NewRegistrar ¶
func NewRegistrar(brokerURL string, info l1.ControllerInfo) (*Registrar, error)
NewRegistrar creates a Registrar.
type Subscription ¶
Subscription is a subscribed topic.