Abstract
Library module to communicate with the mqtt broker . It includes Publish to send messsages to the broker and OnPublish to receive messages published by the broker
Contents
Meta
File | mqttservice.js |
Abstract | Library module to communicate with the mqtt broker . It includes Publish to send messsages to the broker and OnPublish to receive messages published by the broker |
Author | Volker Böhm |
Copyright | Copyright ( c ) 2020 Volker Böhm |
License | This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose . |
Callback definitions
ProcessMessage
ProcessMessage Parameters
Name | Type | Description |
---|---|---|
message |
Object |
the message received |
qos |
0, 1, 2 |
the quality of service information |
dup |
0, 1 |
flag signaling duplicates |
Class OnPublish
new OnPublish(listenerPort, logSettings, qos2PubrelTimeoutInSeconds)
Creates a new server receiving messages Supports registering a callback with on ( 'publish' , ( payload , qos ) = > { } ) called for each received message
OnPublish Parameters
Name | Type | Description |
---|---|---|
listenerPort |
number |
port to listen on |
logSettings |
Object |
logging settings |
qos2PubrelTimeoutInSeconds |
number |
time to delete qos2 related packageid´s from the qos2 queue . This will happen , if a pubrel does not follow the publish call for a this amount of seconds |
OnPublish Members
Name | Type | description |
---|---|---|
logFilter |
LogFilter |
Logging filter |
port |
number |
Port the server uses , only defined after listen has been called ! |
OnPublish Methods
close
close ()
Closes all connections
listen
listen ()
Starts to listen and wait for input
on
on (event, callback)
Sets a callback . Usually , there is no need to set anything here
on Parameters
Name | Type | Description |
---|---|---|
event |
string |
event name , supported 'publish' |
callback |
ProcessMessage |
callback to be called , to process messages received |
Class PublishMessage
new PublishMessage(host, port, configuration)
Creates a client for publishing messages
Example
//Publish the message with topic /a/a, value 1, reason "test", QoS 0, retain 0:
const publish = new PublishMessage('myhost', 10000, { retry: 60 })
result = await publish.publish(publishtoken, new Message("/a/a", 1, "test"), 0, 0);
PublishMessage Parameters
Name | Type | Description |
---|---|---|
host |
string |
host name ( or ip ) |
port |
number |
port number |
configuration |
Object |
configuration options |
configuration properties
Name | Type | Attribute | Default | Description |
---|---|---|---|---|
retry |
number |
optional | 60 | amount of retries to send a message |
PublishMessage Methods
close
async close ()
Closes the connection to the broker
publish
async publish (token, message, qos, retain, version)
Publishes a message with a defined quality of service automatically generating an id
publish Parameters
Name | Type | Description |
---|---|---|
token |
string |
connection token |
message |
Object |
message to publish . |
qos |
number |
0 , 1 , 2 quality of service |
retain |
boolean |
True , if message shall be retained for future subscriptions |
version |
string, undefined |
interface version , supports 0 . 0 and 1 . 0 ( default ) |
publish throws
Type | Description |
---|---|
string |
on any connection error |