FluxFlow.Components.Mqtt.PulseMqtt
1.0.0
See the version list below for details.
dotnet add package FluxFlow.Components.Mqtt.PulseMqtt --version 1.0.0
NuGet\Install-Package FluxFlow.Components.Mqtt.PulseMqtt -Version 1.0.0
<PackageReference Include="FluxFlow.Components.Mqtt.PulseMqtt" Version="1.0.0" />
<PackageVersion Include="FluxFlow.Components.Mqtt.PulseMqtt" Version="1.0.0" />
<PackageReference Include="FluxFlow.Components.Mqtt.PulseMqtt" />
paket add FluxFlow.Components.Mqtt.PulseMqtt --version 1.0.0
#r "nuget: FluxFlow.Components.Mqtt.PulseMqtt, 1.0.0"
#:package FluxFlow.Components.Mqtt.PulseMqtt@1.0.0
#addin nuget:?package=FluxFlow.Components.Mqtt.PulseMqtt&version=1.0.0
#tool nuget:?package=FluxFlow.Components.Mqtt.PulseMqtt&version=1.0.0
FluxFlow.Components.Mqtt.PulseMqtt
Pulse MQTT-backed adapter for FluxFlow.Components.Mqtt.
The core MQTT package stays client-library-neutral: MqttPublishNode needs only
IMqttPublisher, and MqttTriggerNode needs only IMqttTriggerSource. This
package supplies one concrete session object, PulseMqttClient, that implements:
IMqttPublisherIMqttTriggerSourceIMqttClientHealthSource
PulseMqttClient owns Pulse MQTT client creation, transport configuration,
start/stop, publish mapping, route-stream trigger subscriptions, Last Will
configuration, and health events.
Usage
var mqtt = new PulseMqttClient(new PulseMqttClientOptions
{
Host = "localhost",
Port = 1883,
ClientId = "fluxflow-worker",
LastWill = new PulseMqttLastWillOptions
{
Topic = "workers/fluxflow/status",
Payload = "offline"u8.ToArray(),
Retain = true,
QualityOfService = MqttQualityOfService.AtLeastOnce,
ContentType = "text/plain"
}
});
await mqtt.ConnectAsync();
var publish = new MqttPublishNode(mqtt);
var trigger = new MqttTriggerNode(mqtt, new MqttTriggerOptions
{
TopicFilter = "commands/+",
Mode = MqttTriggerMode.RequestReply,
Acknowledgement = MqttTriggerAcknowledgement.None
});
Use ConnectAsync when the caller needs the adapter to wait for a live session.
Use StartAsync when the caller wants Pulse MQTT's resilient background
connection lifecycle and will observe health events until the session becomes
connected.
By default, FluxFlow publish semantics stay strict: publishing while disconnected
throws MqttClientUnavailableException. Set
AllowOfflinePublishQueue = true to opt into Pulse MQTT's offline publish queue.
Last Will
Last Will is adapter-owned because it is registered during MQTT CONNECT. It is
configured through PulseMqttClientOptions.LastWill, not through publish or
trigger node options. Use a normal MqttPublishRequest for graceful
online/offline status messages.
Acknowledgement
Pulse MQTT route streams manage protocol acknowledgement inside the client and
do not expose per-message manual acknowledgement to this adapter. For that
reason, PulseMqttClient supports MqttTriggerAcknowledgement.None and rejects
manual acknowledgement modes. Request/reply mode can still be used with
Acknowledgement.None; the response signal coordinates graph behavior, not
broker-level acknowledgement.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluxFlow.Components.Mqtt (>= 4.0.0)
- Pulse.Mqtt.Client (>= 2.0.0)
-
net8.0
- FluxFlow.Components.Mqtt (>= 4.0.0)
- Pulse.Mqtt.Client (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial Pulse MQTT adapter package for FluxFlow MQTT components. Adds a PulseMqttClient session object that implements IMqttPublisher, IMqttTriggerSource, and IMqttClientHealthSource, including broker transport options, Last Will configuration, publish mapping, route-stream trigger subscriptions, and connection health events.