In-Process

Memory-based transport for testing and local development with Nimbus

The In-Process transport is a memory-based implementation with no external dependencies. It supports all Nimbus message patterns and is ideal for unit tests, integration tests, and local prototyping — letting you develop against the full Nimbus API without running any infrastructure.

Not for production. Messages are not persisted and cannot be shared across processes or machines.

Installation

The In-Process transport is included in the core Nimbus package:

dotnet add package Nimbus

Quick Start

using Nimbus;
using Nimbus.Configuration;
using Nimbus.Infrastructure;

var bus = new BusBuilder()
    .Configure()
    .WithNames("OrderService", Environment.MachineName)
    .WithTransport(new InProcessTransportConfiguration())
    .WithTypesFrom(typeProvider)
    .WithAutofacDefaults(container)
    .Build();

await bus.Start();

No connection strings, no servers, no configuration needed.

Switching to a Production Transport

Because Nimbus abstracts the transport, you can swap In-Process for a real transport without touching any application code:

// Development
.WithTransport(new InProcessTransportConfiguration())

// Production
.WithTransport(new AzureServiceBusTransportConfiguration()
    .WithConnectionString(connectionString))

Your handlers, message classes, and send/publish calls remain unchanged.