Table of Contents

Class IntegrationEnvelope

Namespace
Trellis.Mediator
Assembly
Trellis.Mediator.dll

The consume-side envelope handed to IInboxDispatcher: a stable MessageId plus the deserialized IIntegrationEvent. Only MessageId and Event are load-bearing; the remaining members are optional lineage / observability metadata and never participate in deduplication.

public sealed record IntegrationEnvelope : IEquatable<IntegrationEnvelope>
Inheritance
IntegrationEnvelope
Implements
Inherited Members
Extension Methods

Constructors

IntegrationEnvelope(Guid, IIntegrationEvent)

The consume-side envelope handed to IInboxDispatcher: a stable MessageId plus the deserialized IIntegrationEvent. Only MessageId and Event are load-bearing; the remaining members are optional lineage / observability metadata and never participate in deduplication.

public IntegrationEnvelope(Guid MessageId, IIntegrationEvent Event)

Parameters

MessageId Guid

The stable, unique id used for deduplication — the producer's outbox message id (a UUIDv7) carried verbatim by the transport. Redeliveries of the same message carry the same value.

Event IIntegrationEvent

The deserialized integration event to dispatch to its handlers.

Properties

CausationId

Optional lineage: the id of the message that directly caused this one (the source outbox id).

public Guid? CausationId { get; init; }

Property Value

Guid?

CorrelationId

Optional lineage: the workflow / conversation id shared across a business transaction.

public string? CorrelationId { get; init; }

Property Value

string

Event

The deserialized integration event to dispatch to its handlers.

public IIntegrationEvent Event { get; init; }

Property Value

IIntegrationEvent

MessageId

The stable, unique id used for deduplication — the producer's outbox message id (a UUIDv7) carried verbatim by the transport. Redeliveries of the same message carry the same value.

public Guid MessageId { get; init; }

Property Value

Guid

MessageSource

Optional producer namespace (the originating service / bounded context), for observability.

public string? MessageSource { get; init; }

Property Value

string

TraceParent

Optional W3C traceparent carried from the producing transaction.

public string? TraceParent { get; init; }

Property Value

string

TraceState

Optional W3C tracestate carried from the producing transaction.

public string? TraceState { get; init; }

Property Value

string