MQTTClient.resolve — Functionresolve(future)Fetch the result of a Future object and return it. If the result is an exception, throw the exception, otherwise return the result.
Arguments
future: TheFutureobject to fetch the result from.
Returns
- The result of the
Future, or throws an exception if the result is an exception.
MQTTClient.topic_eq — Functiontopic_eq(baseT::String, compareT::String)A function that compares two MQTT topics and returns a boolean value based on their equality. If the baseT topic contains a wildcard character #, the macro checks if the compareT topic contains the string before the wildcard character. Otherwise, it checks if the two topics are equal.
Examples
julia> topic_eq("sport/#", "sport/tennis")
true
julia> topic_eq("sport/tennis", "sport/football")
falseMQTTClient.MockMQTTBroker — FunctionMockMQTTBroker(args...)
MockMQTTBroker(path::String)
MockMQTTBroker(ip::Sockets.IPAddr, port::Int)creates a mock mqtt broker over UDS or TCP that handles CONNECT, SUBSCRIBE, UNSUBSCRIBE, PUBLISH, PING, and DISCONNECT messages.
Example
using Sockets # need sockets to us ip""
server = MQTTClient.MockMQTTBroker(ip"127.0.0.1", 1883)
# Sockets.TCPServer(RawFD(20) active)
client, conn = MakeConnection(ip"127.0.0.1", 1883)
# MQTTClient.Configuration(MQTTClient[state: ready, read_loop: ready, write_loop: ready, keep_alive: ready]
# , Connection(Protocol: MQTTClient.TCP(ip"127.0.0.1", 1883), Client ID: OL5hUGmT))
connect(client, conn)
# 0x00
subscribe(client, "foo/bar", (args...) -> nothing)
# 2-element Vector{UInt8}:
# 0x01
# 0x00
publish(client, "bar/foo"; qos=QOS_2)
unsubscribe(client, "foo/bar")
disconnect(client)
# (0x00, 0x00, 0x00)
close(server)