Options
Every options type, every property, every default.
PulseMqttClientOptions (dependency injection)
Bindable from configuration; one instance per client name.
| Property | Default | Meaning |
|---|---|---|
Host | — (required) | Broker host name or IP |
Port | 1883 | Broker port (conventionally 8883 for TLS) |
UseTls | false | TLS for the default TCP transport |
ClientId | — (required) | MQTT client identifier |
KeepAliveSeconds | 60 | Keep-alive interval; 0 disables |
CleanStart | true | Start a clean session |
Username / Password | null | Broker credentials |
ProtocolVersion | V500 | V500 or V311 |
ConnectWithHost | true | false hands connect/disconnect to the application |
V311 keeps the MQTT 3.1.1 wire contract: no MQTT 5 properties, no response-topic based request/response helpers, no enhanced authentication, no re-authentication, and no topic aliases.
ResilientMqttClientOptions
For direct construction; with DI these come from PulseMqttClientOptions plus builder swaps.
| Property | Default | Meaning |
|---|---|---|
Connect | — (required) | The CONNECT packet template used for every (re)connection |
Raw | new() | Per-connection settings (below) |
OfflineQueue | new() | Offline queue bounds and policy (below) |
Backoff | new() | Default backoff bounds; ignored when ReconnectStrategy is set |
FollowServerRedirects | false | Follow MQTT 5 UseAnotherServer/ServerMoved redirects instead of faulting (resilience) |
MaxServerRedirects | 8 | Rapid redirect hops allowed before the next redirect is terminal |
ReconnectStrategy | backoff + jitter | The reconnect loop (swap) |
ReconnectDecision | auth-final | Retry-or-fault classification (swap) |
Lifecycle | re-subscriber | Connection up/down hooks (swap) |
SessionStore | in-memory | Durable subscription set (swap) |
MessageStore | bounded in-memory | Offline publish queue (swap) |
Serializer | null | Typed messaging; typed APIs throw until set |
Logger | null (silent) | Structured log sink |
Will | null | Last-will message registered with every CONNECT (presence) |
WillProvider | null | Computes the will fresh per connection attempt with context; wins over WillFactory, Will, and Connect.Will |
WillFactory | null | Computes the will fresh per connection attempt; wins over Will when no provider is set |
Birth | null | Message published automatically on every connection-up |
BirthFactory | null | Computes the birth per connection-up (sees the attempt counter); wins over Birth |
BirthFailure | FailConnection | FailConnection or LogAndContinue when the birth publish fails |
RawMqttClientOptions
| Property | Default | Meaning |
|---|---|---|
Connection | new() | Engine settings (below) |
ConnAckTimeout | 30 s | Handshake wait for the CONNACK |
PingResponseTimeout | 30 s | PINGRESP wait before faulting |
AcknowledgementTimeout | 30 s | Publish/subscribe/unsubscribe acknowledgement wait |
InboundMessageCapacity | 256 | Bound of the received-message queue |
UseOutboundTopicAliases | false | Compress repeated publish topics into MQTT 5 aliases, within the broker's maximum |
Authenticator | null | MQTT 5 enhanced-authentication handler (connecting) |
MqttConnectionOptions
| Property | Default | Meaning |
|---|---|---|
ProtocolVersion | V500 | Decode rules for inbound packets |
InboundQueueCapacity | bounded | Capacity of the packet engine's inbound channel |
MaxInboundPacketSize | bounded | Hard limit on a single inbound packet |
OfflineQueueOptions
| Property | Default | Meaning |
|---|---|---|
Capacity | 1024 | Maximum queued publishes |
Overflow | Block | Block | DropOldest | DropNewest | Reject |
IncludeQos0 | false | Queue QoS 0 publishes instead of dropping them |
PublishWaitTimeout | null | Block wait bound before OfflineQueueFullException; null = indefinite |
BackoffOptions
| Property | Default | Meaning |
|---|---|---|
BaseDelay | 500 ms | First retry delay; doubles per attempt (with full jitter) |
MaxDelay | 30 s | Cap on the exponential growth |
MaxAttempts | null | Attempt limit; null retries indefinitely |
MqttRouteOptions
| Property | Default | Meaning |
|---|---|---|
Capacity | 64 | Bound of the route's queue |
Overflow | Wait | Wait | DropOldest | DropNewest |
MaxConcurrency | 1 | Concurrent handler invocations; 1 preserves order |
Broker subscription options live on MqttTopicFilter; for route templates, create one with MqttRouteTemplate.ToTopicFilter(...).
MqttRequestOptions
| Property | Default | Meaning |
|---|---|---|
Timeout | 30 s | Reply wait before MqttException |
QualityOfService | AtLeastOnce | QoS of the request publish |
TcpTransportOptions
| Property | Default | Meaning |
|---|---|---|
Host / Port | — | Endpoint |
UseTls | false | Wrap in TLS |
TlsTargetHost | null | SNI override when it differs from Host |
ClientCertificates | null | Mutual TLS |
ServerCertificateValidation | platform default | Custom validation callback |
WebSocketTransportOptions
| Property | Default | Meaning |
|---|---|---|
Uri | — (required) | ws:// or wss:// endpoint |
SubProtocol | "mqtt" | Negotiated subprotocol |
ConfigureClient | null | Headers, proxy, certificates on the underlying client |