Show / Hide Table of Contents

    Class MqttDynamicProducerEndpointResolver<TMessage>

    Dynamically resolves the target topic for each message being produced.

    Inheritance
    object
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>
    MqttDynamicProducerEndpointResolver<TMessage>
    Implements
    IDynamicProducerEndpointResolver<MqttProducerEndpoint>
    IDynamicProducerEndpointResolver
    IProducerEndpointResolver<MqttProducerEndpoint>
    IProducerEndpointResolver
    IEquatable<DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>>
    IEquatable<MqttDynamicProducerEndpointResolver<TMessage>>
    Inherited Members
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.GetEndpoint(IOutboundEnvelope)
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.GetEndpoint(IOutboundEnvelope, MqttProducerEndpointConfiguration)
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.GetSerializedEndpoint(IOutboundEnvelope)
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.ToString()
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.GetHashCode()
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.Equals(object)
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.Equals(DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>)
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.<Clone>$()
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.RawName
    object.GetType()
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    Namespace: Silverback.Messaging.Producing.EndpointResolvers
    Assembly: Silverback.Integration.MQTT.dll
    Syntax
    public sealed record MqttDynamicProducerEndpointResolver<TMessage> : DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>, IDynamicProducerEndpointResolver<MqttProducerEndpoint>, IDynamicProducerEndpointResolver, IProducerEndpointResolver<MqttProducerEndpoint>, IProducerEndpointResolver, IEquatable<DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>>, IEquatable<MqttDynamicProducerEndpointResolver<TMessage>> where TMessage : class
    Type Parameters
    Name Description
    TMessage

    The type of the message being produced.

    Constructors

    MqttDynamicProducerEndpointResolver(Func<IOutboundEnvelope<TMessage>, string>)

    Initializes a new instance of the MqttDynamicProducerEndpointResolver<TMessage> class.

    Declaration
    public MqttDynamicProducerEndpointResolver(Func<IOutboundEnvelope<TMessage>, string> topicFunction)
    Parameters
    Type Name Description
    Func<IOutboundEnvelope<TMessage>, string> topicFunction

    The function returning the target topic for the message being produced.

    MqttDynamicProducerEndpointResolver(Func<TMessage?, string>)

    Initializes a new instance of the MqttDynamicProducerEndpointResolver<TMessage> class.

    Declaration
    public MqttDynamicProducerEndpointResolver(Func<TMessage?, string> topicFunction)
    Parameters
    Type Name Description
    Func<TMessage, string> topicFunction

    The function returning the target topic for the message being produced.

    MqttDynamicProducerEndpointResolver(string, Func<IOutboundEnvelope<TMessage>, string[]>)

    Initializes a new instance of the MqttDynamicProducerEndpointResolver<TMessage> class.

    Declaration
    public MqttDynamicProducerEndpointResolver(string topicFormatString, Func<IOutboundEnvelope<TMessage>, string[]> topicArgumentsFunction)
    Parameters
    Type Name Description
    string topicFormatString

    The topic format string that will be combined with the arguments returned by the topicArgumentsFunction using a Format(string, params object[]).

    Func<IOutboundEnvelope<TMessage>, string[]> topicArgumentsFunction

    The function returning the arguments to be used to format the string.

    MqttDynamicProducerEndpointResolver(string, Func<TMessage?, string[]>)

    Initializes a new instance of the MqttDynamicProducerEndpointResolver<TMessage> class.

    Declaration
    public MqttDynamicProducerEndpointResolver(string topicFormatString, Func<TMessage?, string[]> topicArgumentsFunction)
    Parameters
    Type Name Description
    string topicFormatString

    The topic format string that will be combined with the arguments returned by the topicArgumentsFunction using a Format(string, params object[]).

    Func<TMessage, string[]> topicArgumentsFunction

    The function returning the arguments to be used to format the string.

    Properties

    EqualityContract

    Dynamically resolves the target topic for each message being produced.

    Declaration
    protected override Type EqualityContract { get; }
    Property Value
    Type Description
    Type
    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.EqualityContract

    Methods

    DeserializeEndpoint(string, MqttProducerEndpointConfiguration)

    Deserializes the endpoint from a string.

    Declaration
    protected override MqttProducerEndpoint DeserializeEndpoint(string serializedEndpoint, MqttProducerEndpointConfiguration configuration)
    Parameters
    Type Name Description
    string serializedEndpoint

    The serialized endpoint.

    MqttProducerEndpointConfiguration configuration

    The endpoint configuration.

    Returns
    Type Description
    MqttProducerEndpoint

    The deserialized endpoint.

    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.DeserializeEndpoint(string, MqttProducerEndpointConfiguration)

    Equals(DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>?)

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public override sealed bool Equals(DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>? other)
    Parameters
    Type Name Description
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration> other
    Returns
    Type Description
    bool
    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.Equals(DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>)

    Equals(MqttDynamicProducerEndpointResolver<TMessage>?)

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public bool Equals(MqttDynamicProducerEndpointResolver<TMessage>? other)
    Parameters
    Type Name Description
    MqttDynamicProducerEndpointResolver<TMessage> other
    Returns
    Type Description
    bool

    Equals(object?)

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public override bool Equals(object? obj)
    Parameters
    Type Name Description
    object obj
    Returns
    Type Description
    bool
    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.Equals(object)

    GetEndpointCore(IOutboundEnvelope<TMessage>, MqttProducerEndpointConfiguration)

    Gets the computed actual destination endpoint for the message being produced.

    Declaration
    protected override MqttProducerEndpoint GetEndpointCore(IOutboundEnvelope<TMessage> envelope, MqttProducerEndpointConfiguration configuration)
    Parameters
    Type Name Description
    IOutboundEnvelope<TMessage> envelope

    The envelope containing the message to be produced.

    MqttProducerEndpointConfiguration configuration

    The endpoint configuration.

    Returns
    Type Description
    MqttProducerEndpoint

    The ProducerEndpoint for the specified message.

    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.GetEndpointCore(IOutboundEnvelope<TMessage>, MqttProducerEndpointConfiguration)

    GetHashCode()

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int
    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.GetHashCode()

    PrintMembers(StringBuilder)

    Dynamically resolves the target topic for each message being produced.

    Declaration
    protected override bool PrintMembers(StringBuilder builder)
    Parameters
    Type Name Description
    StringBuilder builder
    Returns
    Type Description
    bool
    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.PrintMembers(StringBuilder)

    SerializeEndpoint(MqttProducerEndpoint)

    Serializes the endpoint to a string.

    Declaration
    protected override string SerializeEndpoint(MqttProducerEndpoint endpoint)
    Parameters
    Type Name Description
    MqttProducerEndpoint endpoint

    The endpoint to be serialized.

    Returns
    Type Description
    string

    The serialized endpoint.

    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.SerializeEndpoint(MqttProducerEndpoint)

    ToString()

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string
    Overrides
    DynamicProducerEndpointResolver<TMessage, MqttProducerEndpoint, MqttProducerEndpointConfiguration>.ToString()

    Operators

    operator ==(MqttDynamicProducerEndpointResolver<TMessage>?, MqttDynamicProducerEndpointResolver<TMessage>?)

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public static bool operator ==(MqttDynamicProducerEndpointResolver<TMessage>? left, MqttDynamicProducerEndpointResolver<TMessage>? right)
    Parameters
    Type Name Description
    MqttDynamicProducerEndpointResolver<TMessage> left
    MqttDynamicProducerEndpointResolver<TMessage> right
    Returns
    Type Description
    bool

    operator !=(MqttDynamicProducerEndpointResolver<TMessage>?, MqttDynamicProducerEndpointResolver<TMessage>?)

    Dynamically resolves the target topic for each message being produced.

    Declaration
    public static bool operator !=(MqttDynamicProducerEndpointResolver<TMessage>? left, MqttDynamicProducerEndpointResolver<TMessage>? right)
    Parameters
    Type Name Description
    MqttDynamicProducerEndpointResolver<TMessage> left
    MqttDynamicProducerEndpointResolver<TMessage> right
    Returns
    Type Description
    bool

    Implements

    IDynamicProducerEndpointResolver<TEndpoint>
    IDynamicProducerEndpointResolver
    IProducerEndpointResolver<TEndpoint>
    IProducerEndpointResolver
    IEquatable<T>
    IEquatable<T>
    GitHub E-Mail
    ↑ Back to top © 2026 Sergio Aquilini