Table of Contents

Class DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>

Namespace
Silverback.Messaging.Producing.EndpointResolvers
Assembly
Silverback.Integration.dll

Dynamically resolves the destination endpoint (e.g. the target topic and partition) for each message being produced.

public abstract record DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration> : IDynamicProducerEndpointResolver<TEndpoint>, IDynamicProducerEndpointResolver, IProducerEndpointResolver<TEndpoint>, IProducerEndpointResolver, IEquatable<DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>> where TMessage : class where TEndpoint : ProducerEndpoint where TConfiguration : ProducerEndpointConfiguration

Type Parameters

TMessage

The type of the message being produced.

TEndpoint

The type of the endpoint being resolved.

TConfiguration

The type of the endpoint configuration.

Inheritance
DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>
Implements
IEquatable<DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>>
Derived
Inherited Members

Constructors

DynamicProducerEndpointResolver(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>)

protected DynamicProducerEndpointResolver(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration> original)

Parameters

original DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>

DynamicProducerEndpointResolver(string)

protected DynamicProducerEndpointResolver(string rawName)

Parameters

rawName string

The raw endpoint name that can be used as RawName.

Properties

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

RawName

Gets the raw endpoint name that can be used as RawName.

public string RawName { get; }

Property Value

string

Methods

DeserializeEndpoint(string, TConfiguration)

Deserializes the endpoint from a string.

protected abstract TEndpoint DeserializeEndpoint(string serializedEndpoint, TConfiguration configuration)

Parameters

serializedEndpoint string

The serialized endpoint.

configuration TConfiguration

The endpoint configuration.

Returns

TEndpoint

The deserialized endpoint.

Equals(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>?)

public virtual bool Equals(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>? other)

Parameters

other DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetEndpoint(IOutboundEnvelope)

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

public ProducerEndpoint GetEndpoint(IOutboundEnvelope envelope)

Parameters

envelope IOutboundEnvelope

The envelope containing the message to be produced.

Returns

ProducerEndpoint

The ProducerEndpoint for the specified message.

GetEndpoint(IOutboundEnvelope, TConfiguration)

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

public TEndpoint GetEndpoint(IOutboundEnvelope envelope, TConfiguration configuration)

Parameters

envelope IOutboundEnvelope

The envelope containing the message to be produced.

configuration TConfiguration

Returns

TEndpoint

The ProducerEndpoint for the specified message.

GetEndpointCore(IOutboundEnvelope<TMessage>, TConfiguration)

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

protected abstract TEndpoint GetEndpointCore(IOutboundEnvelope<TMessage> envelope, TConfiguration configuration)

Parameters

envelope IOutboundEnvelope<TMessage>

The envelope containing the message to be produced.

configuration TConfiguration

The endpoint configuration.

Returns

TEndpoint

The ProducerEndpoint for the specified message.

GetHashCode()

public override int GetHashCode()

Returns

int

GetSerializedEndpoint(IOutboundEnvelope)

Gets the string representation of the computed actual destination endpoint for the message being produced.

public string GetSerializedEndpoint(IOutboundEnvelope envelope)

Parameters

envelope IOutboundEnvelope

The envelope containing the message to be produced.

Returns

string

The ProducerEndpoint for the specified message.

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

SerializeEndpoint(TEndpoint)

Serializes the endpoint to a string.

protected abstract string SerializeEndpoint(TEndpoint endpoint)

Parameters

endpoint TEndpoint

The endpoint to be serialized.

Returns

string

The serialized endpoint.

ToString()

public override string ToString()

Returns

string

Operators

operator ==(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>?, DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>?)

public static bool operator ==(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>? left, DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>? right)

Parameters

left DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>
right DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>

Returns

bool

operator !=(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>?, DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>?)

public static bool operator !=(DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>? left, DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>? right)

Parameters

left DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>
right DynamicProducerEndpointResolver<TMessage, TEndpoint, TConfiguration>

Returns

bool