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
TMessageThe LWT message type.
- Inheritance
-
MqttLastWillMessageConfigurationBuilder<TMessage>
- Implements
-
IMessageSerializationBuilder<TMessage, MqttLastWillMessageConfigurationBuilder<TMessage>>
- 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
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
topicstringThe 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
messageTMessageThe 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
serializerBuilderActionAction<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
serializerIMessageSerializerThe 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
contentTypestringThe 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
correlationDatabyte[]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
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
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
payloadFormatIndicatorMqttPayloadFormatIndicator?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
topicstringThe 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
qosLevelMqttQualityOfServiceLevelThe MQTTnet.Protocol.MqttQualityOfServiceLevel.
Returns
- MqttLastWillMessageConfigurationBuilder<TMessage>
The MqttLastWillMessageConfigurationBuilder<TMessage> so that additional calls can be chained.