Skip to content

Packages

Runtime packages target net8.0 and net10.0, carry XML documentation, and are Native AOT compatible. The analyzer package is a compiler extension and targets netstandard2.0. MIT licensed. For package-specific setup, see Package docs. For a task-oriented install map, see Package add-ons.

PackageWhat it isDepends on
Pulse.Mqtt.CoreWire codec (all 15 control packets, MQTT 5.0 + 3.1.1), transports (TCP/TLS, in-memory loopback), MqttConnection, RawMqttClient, every swap-point contractBCL + System.IO.Pipelines only
Pulse.Mqtt.ClientResilientMqttClient: supervision, topic routing, typed messaging, request/response, diagnosticsCore, Microsoft.Extensions.Logging.Abstractions
Pulse.Mqtt.DataflowISourceBlock<T> adapters for messages, routes, acknowledged routes, and state transitionsClient
Pulse.Mqtt.DependencyInjectionAddPulseMqttClient, named clients, options binding, hosted lifecycle, health checksClient + Microsoft.Extensions.* abstractions
Pulse.Mqtt.EndpointsMinimal-API-style MapMqtt endpoints with route constraints and per-message scopesClient, DependencyInjection
Pulse.Mqtt.Serialization.JsonSource-generated System.Text.Json serializerClient
Pulse.Mqtt.Serialization.MessagePackMessagePack serializer (compact binary, source-generated resolvers)Core, MessagePack
Pulse.Mqtt.Serialization.ProtobufProtocol Buffers serializer (compact binary, explicit parser registry)Core, Protobuf runtime
Pulse.Mqtt.Resilience.PollyPollyReconnectStrategy over a Polly v8 ResiliencePipelineCore, Polly.Core
Pulse.Mqtt.Storage.LiteDBLiteDbSessionStore + LiteDbMessageStore: subscriptions, the offline queue, and in-flight QoS state survive restartsCore, LiteDB
Pulse.Mqtt.Storage.SqlServerSqlServerSessionStore + SqlServerMessageStore: subscriptions, the offline queue, and in-flight QoS state survive restarts in SQL ServerCore, Microsoft.Data.SqlClient
Pulse.Mqtt.Storage.SqliteSqliteSessionStore + SqliteMessageStore: subscriptions, the offline queue, and in-flight QoS state survive restartsCore, Microsoft.Data.Sqlite
Pulse.Mqtt.Transport.WebSocketMQTT over ws/wssCore
Pulse.Mqtt.Transport.QuicMQTT over QUIC, one bidirectional stream (.NET 10 only)Core
Pulse.Mqtt.TestingPulseMqttTestBroker, the in-process broker with opt-in retained messages, persistent sessions, and scripted responsesCore
Pulse.Mqtt.AnalyzersOptional C# diagnostics for common Pulse MQTT usage mistakesnone

Which do I need?

  • A typical service: Client + DependencyInjection + Serialization.Json.
  • Minimal footprint / your own composition: Client alone (or Core alone for the raw layers).
  • Tests: add Testing.
  • Pipeline-style consumers: add Dataflow.
  • Compact binary payloads: add Serialization.MessagePack or Serialization.Protobuf.
  • Polly policies or WebSocket brokers: add the matching add-on.
  • Compile-time guidance: add Analyzers with PrivateAssets="all".

Released under the MIT License.