Skip to content

Dedupe outbox type resolution and RabbitMQ wire-message construction#348

Merged
Vulthil merged 2 commits into
mainfrom
refactor/messaging-internals-dedup
Jul 22, 2026
Merged

Dedupe outbox type resolution and RabbitMQ wire-message construction#348
Vulthil merged 2 commits into
mainfrom
refactor/messaging-internals-dedup

Conversation

@Vulthil

@Vulthil Vulthil commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Extract the RabbitMQ publish/send/request paths' common wire-construction steps (id
    resolution, common BasicProperties fields, envelope serialization, producer activity
    tags) into one shared internal builder used only within Vulthil.Messaging.RabbitMq;
    the fields and error-handling scope that legitimately differ per operation (reply-to,
    wire correlation id, persistence, expiration, serialization failure handling) stay in
    each caller.
  • Within the RabbitMQ transport's message-context factory, share the AMQP
    property/header extraction between the fault-snapshot and bare-JSON typed-context
    paths.
  • Drop an unused generic type parameter from an internal publish method.
  • Document and pin the "last registered transport wins" contract the test harness's
    transport replacement depends on.

Verification

  • Full solution build: clean.
  • Vulthil.Messaging.Tests, Vulthil.Messaging.RabbitMq.Tests, Vulthil.Messaging.Outbox.Tests,
    Vulthil.Messaging.TestHarness.Tests, Vulthil.Messaging.Abstractions.Tests: all green on
    net9.0 and net10.0, assertions unmodified.
  • dotnet pack (Release, fresh obj/bin) for every touched package: clean, no
    API-compatibility errors against the 1.1.0 baseline.
  • No InternalsVisibleTo between shipped assemblies: cross-assembly dedup from the first
    revision (outbox type resolver, typed-context mapping) was reverted per review; all
    remaining sharing is within a single assembly.

Backport to v1.0: no — internal refactor ships with the next release.

@Vulthil
Vulthil merged commit 3b2a545 into main Jul 22, 2026
7 checks passed
@Vulthil
Vulthil deleted the refactor/messaging-internals-dedup branch July 22, 2026 11:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant