Cloudtoid.Interprocess 3.0.0-alpha.205

This is a prerelease version of Cloudtoid.Interprocess.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Cloudtoid.Interprocess --version 3.0.0-alpha.205
                    
NuGet\Install-Package Cloudtoid.Interprocess -Version 3.0.0-alpha.205
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cloudtoid.Interprocess" Version="3.0.0-alpha.205" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cloudtoid.Interprocess" Version="3.0.0-alpha.205" />
                    
Directory.Packages.props
<PackageReference Include="Cloudtoid.Interprocess" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cloudtoid.Interprocess --version 3.0.0-alpha.205
                    
#r "nuget: Cloudtoid.Interprocess, 3.0.0-alpha.205"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cloudtoid.Interprocess@3.0.0-alpha.205
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cloudtoid.Interprocess&version=3.0.0-alpha.205&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Cloudtoid.Interprocess&version=3.0.0-alpha.205&prerelease
                    
Install as a Cake Tool

Cloudtoid.Interprocess

Exchange byte messages between processes on the same machine using a shared-memory queue. Multiple publishers and subscribers can connect to the same queue on Windows, Linux, or macOS.

Install

Requires .NET 10 or later and a 64-bit process.

dotnet add package Cloudtoid.Interprocess --prerelease

Upgrading to 3.0 alpha

Version 3 is an alpha prerelease. APIs and the shared-memory protocol may change between alpha releases. Drain the queue, stop all participants, and recreate it when upgrading between alpha versions.

Version 3 changes the shared-memory protocol to prevent publisher reservations from overwriting unread messages after offset wrap. Drain the old queue and upgrade all publishers and subscribers together. V2 and v3 use separate resources even with the same queue name; queued messages are not migrated.

The MMF stays circular and fixed in size. Logical positions never wrap: after approximately 9.22 exabytes of reserved bytes (including headers and padding), TryEnqueue throws OverflowException before changing the queue. Drain accepted messages and move all participants to a fresh queue.

Example

using Cloudtoid.Interprocess;

var factory = new QueueFactory();
var options = new QueueOptions("example-queue", capacity: 1024 * 1024);

using var publisher = factory.CreatePublisher(options);
using var subscriber = factory.CreateSubscriber(options);

byte[] payload = [1, 2, 3];
byte[] buffer = new byte[256];

if (publisher.TryEnqueue(payload) &&
    subscriber.TryDequeue(buffer, out var message))
{
    Console.WriteLine($"Received {message.Length} bytes");
}

For separate processes, create the publisher and subscriber in their respective programs using the same queue name, storage path, and capacity. The example uses the default temporary directory. Handle unsuccessful enqueue/dequeue attempts according to your application's retry and cancellation needs.

For dependency injection, register the queue services with services.AddInterprocessQueue() and resolve IQueueFactory.

Publisher and subscriber samples · Documentation · Report an issue · MIT license

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Cloudtoid.Interprocess:

Package Downloads
Ipc.Connect

A cross-platform shared memory Client/Server Implementation

IPCPipeline

Inter-process bi-directional communication pipeline (IPC) or (IPBDC) that can both write and read data at the same time. This uses cloudtoid/interprocess as its low-level backend API.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.1.2 53 9/18/2026
3.1.1 84 9/14/2026
3.0.211 83 9/14/2026
3.0.210 78 9/14/2026
3.0.209 86 9/14/2026
3.0.208 82 9/14/2026
3.0.0-alpha.207 53 9/14/2026
3.0.0-alpha.206 43 9/13/2026
3.0.0-alpha.205 48 9/13/2026
2.1.204 80 9/13/2026
2.1.203 79 9/13/2026
2.1.202 86 9/13/2026
2.1.201 86 9/13/2026
2.1.200 89 9/13/2026
2.1.199 90 9/13/2026
2.0.198 86 9/13/2026
2.0.197 80 9/13/2026
2.0.196 86 9/13/2026
2.0.195 84 9/12/2026
2.0.194 80 9/12/2026
Loading failed