Table of Contents

Class MqttLastWillMessageConfigurationBuilder<TMessage>

Namespace
Silverback.Messaging.Configuration.Mqtt
Assembly
Silverback.Integration.MQTT.dll

Builds the last will and testament (LWT) message related part of the MqttClientConfiguration.

public class MqttLastWillMessageConfigurationBuilder<TMessage> : IMessageSerializationBuilder<TMessage, MqttLastWillMessageConfigurationBuilder<TMessage>>

Type Parameters

TMessage

The LWT message type.

Inheritance
MqttLastWillMessageConfigurationBuilder<TMessage>
Implements
Inherited Members

Constructors

MqttLastWillMessageConfigurationBuilder()

public MqttLastWillMessageConfigurationBuilder()

Methods

AddHeader(string, string?)

Adds an header (user property) to the last will message.

public MqttLastWillMessageConfigurationBuilder<TMessage> AddHeader(string name, string? value)

Parameters

name string

The property name.

value string

The property value.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

Build()

Builds the MQTTnet.MqttApplicationMessage instance.

public MqttLastWillMessageConfiguration Build()

Returns

MqttLastWillMessageConfiguration

The MQTTnet.MqttApplicationMessage.

ProduceTo(string)

Specifies the name of the topic to produce the LWT message to.

public MqttLastWillMessageConfigurationBuilder<TMessage> ProduceTo(string topic)

Parameters

topic string

The topic.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

Retain()

Specifies that the LWT message will be sent with the retain flag, causing it to be persisted on the broker.

public MqttLastWillMessageConfigurationBuilder<TMessage> Retain()

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

SendMessage(TMessage)

Sets the payload of the last will message to be published.

public MqttLastWillMessageConfigurationBuilder<TMessage> SendMessage(TMessage message)

Parameters

message TMessage

The actual LWT message to be published.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

SerializeAsJson(Action<JsonMessageSerializerBuilder>?)

Sets the serializer to an instance of JsonMessageSerializer to serialize the produced messages as JSON.

public MqttLastWillMessageConfigurationBuilder<TMessage> SerializeAsJson(Action<JsonMessageSerializerBuilder>? serializerBuilderAction = null)

Parameters

serializerBuilderAction Action<JsonMessageSerializerBuilder>

An optional Action<T> that takes the JsonMessageSerializerBuilder and configures it.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The endpoint builder so that additional calls can be chained.

SerializeUsing(IMessageSerializer)

Specifies the IMessageSerializer to be used to serialize the LWT message.

public MqttLastWillMessageConfigurationBuilder<TMessage> SerializeUsing(IMessageSerializer serializer)

Parameters

serializer IMessageSerializer

The IMessageSerializer.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The endpoint builder so that additional calls can be chained.

WithAtLeastOnceQoS()

Specifies that the LWT message has to be sent with the at least once quality of service level.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithAtLeastOnceQoS()

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithAtMostOnceQoS()

Specifies that the LWT message has to be sent with the at most once quality of service level.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithAtMostOnceQoS()

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithContentType(string?)

Sets the content type.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithContentType(string? contentType)

Parameters

contentType string

The content type.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithCorrelationData(byte[]?)

Sets the correlation data.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithCorrelationData(byte[]? correlationData)

Parameters

correlationData byte[]

The correlation data.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithDelay(TimeSpan)

Sets the last will message delay.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithDelay(TimeSpan delay)

Parameters

delay TimeSpan

The TimeSpan representing the delay.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithExactlyOnceQoS()

Specifies that the LWT message has to be sent with the exactly once quality of service level.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithExactlyOnceQoS()

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithExpiration(TimeSpan)

Sets the last will message expiration.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithExpiration(TimeSpan expiration)

Parameters

expiration TimeSpan

The TimeSpan representing the expiration.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithPayloadFormatIndicator(MqttPayloadFormatIndicator?)

Sets the payload format indicator.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithPayloadFormatIndicator(MqttPayloadFormatIndicator? payloadFormatIndicator)

Parameters

payloadFormatIndicator MqttPayloadFormatIndicator?

The payload format indicator.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithPayloadFormatIndicator(string?)

Sets the response topic.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithPayloadFormatIndicator(string? topic)

Parameters

topic string

The response topic.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.

WithQualityOfServiceLevel(MqttQualityOfServiceLevel)

Specifies the desired quality of service level.

public MqttLastWillMessageConfigurationBuilder<TMessage> WithQualityOfServiceLevel(MqttQualityOfServiceLevel qosLevel)

Parameters

qosLevel MqttQualityOfServiceLevel

The MQTTnet.Protocol.MqttQualityOfServiceLevel.

Returns

MqttLastWillMessageConfigurationBuilder<TMessage>

The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.