JorgeCostaMacia.Bus
3.2.2
Prefix Reserved
dotnet add package JorgeCostaMacia.Bus --version 3.2.2
NuGet\Install-Package JorgeCostaMacia.Bus -Version 3.2.2
<PackageReference Include="JorgeCostaMacia.Bus" Version="3.2.2" />
<PackageVersion Include="JorgeCostaMacia.Bus" Version="3.2.2" />
<PackageReference Include="JorgeCostaMacia.Bus" />
paket add JorgeCostaMacia.Bus --version 3.2.2
#r "nuget: JorgeCostaMacia.Bus, 3.2.2"
#:package JorgeCostaMacia.Bus@3.2.2
#addin nuget:?package=JorgeCostaMacia.Bus&version=3.2.2
#tool nuget:?package=JorgeCostaMacia.Bus&version=3.2.2
JorgeCostaMacia.Bus
Transport-agnostic messaging contracts — the root of the JorgeCostaMacia.Bus.* family: messages, read-only message contexts (composable envelope facets) and point-to-point / pub-sub buses. No transport, no framework — the RabbitMQ and Kafka implementations live in sibling packages.
Install
dotnet add package JorgeCostaMacia.Bus
Contracts
| Type | For |
|---|---|
IMessage |
root marker for anything on the bus |
ITracedMessage |
+ AggregateId / AggregateCorrelationId / AggregateOccurredAt |
IFilteredMessage |
+ AggregateConsumers (consumer-side filtering) |
IContext |
marker for the read-only envelope a handler receives around a delivered message |
ITransport |
marker for the transport a message arrived on (a Kafka/RabbitMQ transport object; one of the two real objects of a delivery, alongside the message) |
| context facets (each carries only what it needs) | IMessageContext<T> (the message) · ITransportContext<TTransport> (the transport) · ITracedContext (messaging trace: id/type/addresses) · IAggregateTracedContext (domain trace) · IAggregateFilteredContext (addresses) · IConversationContext · IResilientContext · IHostContext (the handling host) · IErrorContext<TError> (a parked failure) — a concrete context (command/event) composes the ones it exposes |
IBus |
marker for a concrete bus — the single entry point a service resolves; the sender/publisher contracts below define it, they are not resolvable ports |
ISenderBus<TMessage> / ISenderBatchBus<TMessage> |
Send point-to-point — one message, or a batch |
IPublisherBus<TMessage> / IPublisherBatchBus<TMessage> |
Publish pub/sub — one message, or a batch |
IHandler<TMessage, TContext> |
handle a delivered message (TContext : IContext) |
ErrorInfo / IErrorMessage |
the failure a transport parks with a failed delivery — the whole exception chain modeled (type, message, source, stack trace, inner), so any parked failure reads the same |
Ordering is a non-concern by design: transports partition freely and consumers resolve conflicts by AggregateOccurredAt (event-time last-writer-wins).
Requirements
One of the following SDKs: .NET 8 / 9 / 10 (.NET 10 recommended).
About
JorgeCostaMacia.Bus is part of bus-net — messaging building blocks, each scoped to a single concern and reusable across your services.
- Repository: github.com/JorgeCostaMacia/bus-net
- Issues & requests: open an issue
- Contributing: CONTRIBUTING.md
- Security: report a vulnerability
Author: Jorge Costa Maciá
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on JorgeCostaMacia.Bus:
| Package | Downloads |
|---|---|
|
JorgeCostaMacia.Bus.Kafka
Kafka transport for JorgeCostaMacia.Bus — the concrete command/event bus over Confluent.Kafka: message base records, contexts, handler/subscriber bases and the producer/consumer. Reference this one package to use the bus on Kafka. |
|
|
JorgeCostaMacia.Bus.RabbitMQ
RabbitMQ transport for JorgeCostaMacia.Bus — the concrete command/event bus over the official RabbitMQ.Client (v7, async): message base records, contexts, handler/subscriber bases and the producer/consumer. Reference this one package to use the bus on RabbitMQ. |
GitHub repositories
This package is not used by any popular GitHub repositories.