MqttClient class
A client class for interacting with MQTT Data Packets.
Do not instantiate this class directly, instead instantiate
either a MqttClientServer
class or an MqttBrowserClient as needed.
This class now provides common functionality between server side
and web based clients.
- Implementers
Constructors
- MqttClient(String server, String clientIdentifier)
- Initializes a new instance of the MqttClient class using the default Mqtt Port. The server hostname to connect to The client identifier to use to connect with
- MqttClient.withPort(String server, String clientIdentifier, int? port)
- Initializes a new instance of the MqttClient class using the supplied Mqtt Port. The server hostname to connect to The client identifier to use to connect with The port to use
Properties
-
authentication
→ Stream<
MqttAuthenticateMessage> ? -
Authenticate message stream. A received authenticate message is
added to this stream.
Attach listeners only after connect has been called.
no setter
- authenticationManager ↔ MqttAuthenticationManager?
-
Handles everything to do with authentication messages.
getter/setter pair
- autoReconnect ↔ bool
-
Auto reconnect, the client will auto reconnect if set true.
getter/setter pair
- clientEventBus ↔ EventBus?
-
The event bus
getter/setter pair
- clientIdentifier ↔ String
-
Client identifier
getter/setter pair
- connectionHandler ↔ dynamic
-
The Handler that is managing the connection to the remote server.
getter/setter pair
- connectionMessage ↔ MqttConnectMessage?
-
The connection message to use to override the default
getter/setter pair
- connectionState → MqttConnectionState?
-
Gets the current connection state of the Mqtt Client.
Will be removed, use connectionStatus
no setter
- connectionStatus → MqttConnectionStatus?
-
Gets the current connection status of the Mqtt Client.
This is the connection state as above also with the broker return code.
Set after every connection attempt.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- instantiationCorrect ↔ bool
-
Incorrect instantiation protection
getter/setter pair
- keepAlive ↔ MqttConnectionKeepAlive?
-
Handles the connection management while idle.
getter/setter pair
- keepAlivePeriod ↔ int
-
Keep alive period, seconds
getter/setter pair
- onAutoReconnect ↔ AutoReconnectCallback?
-
Auto reconnect callback, if auto reconnect is selected this callback will
be called before auto reconnect processing is invoked to allow the user to
perform any pre auto reconnect actions.
getter/setter pair
- onAutoReconnected ↔ AutoReconnectCompleteCallback?
-
Auto reconnected callback, if auto reconnect is selected this callback will
be called after auto reconnect processing is completed to allow the user to
perform any post auto reconnect actions.
getter/setter pair
- onConnected ↔ ConnectCallback?
-
Client connect callback, called on successful connect
getter/setter pair
- onDisconnected ↔ DisconnectCallback?
-
Client disconnect callback, called on unsolicited disconnect.
This will not be called even if set if [autoReconnect} is set,instead
AutoReconnectCallback will be called.
getter/setter pair
- onSubscribed ↔ SubscribeCallback?
-
On subscribed
getter/setter pair
- onSubscribeFail ↔ SubscribeFailCallback?
-
On subscribed fail
getter/setter pair
- onUnsubscribed ↔ UnsubscribeCallback?
-
On unsubscribed
getter/setter pair
- pongCallback ↔ PongCallback?
-
The ping received callback
getter/setter pair
- port ↔ int?
-
Port number
getter/setter pair
-
published
→ Stream<
MqttPublishMessage> ? -
Published message stream. A publish message is added to this
stream on completion of the message publishing protocol for a Qos level.
Attach listeners only after connect has been called.
no setter
- publishingManager ↔ MqttPublishingManager?
-
Handles everything to do with publication management.
getter/setter pair
- resubscribeOnAutoReconnect ↔ bool
-
Re subscribe on auto reconnect.
Auto reconnect will perform automatic re subscription of existing confirmed subscriptions
unless this is set to false.
In this case the caller must perform their own re subscriptions manually using
unsubscribe
, subscribe and resubscribe as needed from the appropriate callbacks.getter/setter pair - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- server ↔ String
-
Server name
getter/setter pair
- subscriptionsManager ↔ MqttSubscriptionManager?
-
The subscriptions manager responsible for tracking subscriptions.
getter/setter pair
-
updates
→ Stream<
List< MqttReceivedMessage< >MqttMessage> > -
The stream on which all subscribed topic updates are published to
no setter
-
websocketProtocols
← List<
String> -
User definable websocket protocols. Use this for non default websocket
protocols only if your broker needs this. There are two defaults in
MqttWsConnection class, the single protocol is the default. Some brokers
will not accept a list and only expect a single protocol identifier,
in this case use the single protocol default. You can supply your own
list, or to disable this entirely set the protocols to an
empty list , i.e [].
no getter
-
websocketProtocolString
↔ List<
String> ? -
getter/setter pair
Methods
-
checkCredentials(
String? username, String? password) → void - Check the username and password validity
-
connect(
[String? username, String? password]) → Future< MqttConnectionStatus?> - Comon client connection method.
-
disconnect(
) → void - Disconnect from the broker.
-
doAutoReconnect(
{bool force = false}) → void -
Auto reconnect method, used to invoke a manual auto reconnect sequence.
If autoReconnect is not set this method does nothing.
If the client is not disconnected this method will have no effect
unless the
force
parameter is set to true, otherwise auto reconnect will try indefinitely to reconnect to the broker. -
getConnectMessage(
String? username, String? password) → MqttConnectMessage - Gets a pre-configured connect message if one has not been supplied by the user. Returns an MqttConnectMessage that can be used to connect to a message broker if the user has not set one.
-
getSubscriptionStatus(
MqttSubscription subscription) → MqttSubscriptionStatus - Gets the current status of a subscription.
-
getSubscriptionTopicStatus(
String topic) → MqttSubscriptionStatus - Gets the current status of a subscription topic.
-
internalDisconnect(
) → void - Internal disconnect.
-
logging(
{required bool on}) → void - Turn on logging, true to start, false to stop
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
publishMessage(
String topic, MqttQos qualityOfService, Uint8Buffer data, {bool retain = false, List< MqttUserProperty> ? userProperties}) → int - Publishes a message to the message broker. Returns the message identifer assigned to the message. Raises InvalidTopicException if the topic supplied violates the MQTT topic format rules.
-
publishUserMessage(
MqttPublishMessage message) → int - Publishes a user supplied publish message to the message broker. This allows the user to custom build the publish message as is needed. The user is responsible for the integrity of the publishing message. Returns the message identifier assigned to the message. Note that any supplied message identifier will be overridden by this method.
-
reauthenticate(
MqttAuthenticateMessage msg, {int waitTimeInSeconds = 30}) → Future< MqttAuthenticateMessage> - Re-authenticate.
-
resubscribe(
) → void -
Re subscribe.
Unsubscribes all confirmed subscriptions and re subscribes them
without sending unsubscribe messages to the broker.
If an unsubscribe message to the broker is needed then use
unsubscribe
followed by subscribe for each subscription. Can be used in auto reconnect processing to force manual re subscription of all existing confirmed subscriptions. -
sendAuthenticate(
MqttAuthenticateMessage message) → void - Send an authenticate message to the broker.
-
subscribe(
String topic, MqttQos qosLevel) → MqttSubscription? - Initiates a topic subscription request to the connected broker with a strongly typed data processor callback. The topic to subscribe to. The maximum Qos level. Returns the subscription or null on failure
-
subscribeWithSubscription(
MqttSubscription subscription) → MqttSubscription? - Initiates a topic subscription request to the connected broker with a strongly typed data processor callback. The subscription to subscribe to. Returns the subscription or null on failure
-
subscribeWithSubscriptionList(
List< MqttSubscription> subscriptions) → List<MqttSubscription> ? - Initiates a topic subscription request to the connected broker with a strongly typed data processor callback. The list of subscriptions to subscribe to. Note that user properties are set on a per message basis not a per subscription basis, if you wish to send user properties then set them on the first subscription in the list. Returns the subscriptions or null on failure
-
toString(
) → String -
A string representation of this object.
inherited
-
unsubscribeStringTopic(
String topic) → void - Unsubscribe from a topic.
-
unsubscribeSubscription(
MqttSubscription subscription) → void - Unsubscribe from a subscription.
-
unsubscribeSubscriptionList(
List< MqttSubscription> subscriptions) → void - Unsubscribe from a subscription list. Note that user properties are set on a per message basis not a per subscription basis, if you wish to send user properties then set them on the first subscription in the list.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited