Berberis.Messaging 1.1.30

There is a newer version of this package available.
See the version list below for details.
dotnet add package Berberis.Messaging --version 1.1.30
                    
NuGet\Install-Package Berberis.Messaging -Version 1.1.30
                    
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="Berberis.Messaging" Version="1.1.30" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Berberis.Messaging" Version="1.1.30" />
                    
Directory.Packages.props
<PackageReference Include="Berberis.Messaging" />
                    
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 Berberis.Messaging --version 1.1.30
                    
#r "nuget: Berberis.Messaging, 1.1.30"
                    
#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 Berberis.Messaging@1.1.30
                    
#: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=Berberis.Messaging&version=1.1.30
                    
Install as a Cake Addin
#tool nuget:?package=Berberis.Messaging&version=1.1.30
                    
Install as a Cake Tool

Berberis CrossBar Messaging

Nuget

Berberis CrossBar is a high-performance, allocation-free in-process message broker designed for creating complex, high-speed pipelines within a single process. Built on the concept of typed channels, Berberis CrossBar serves as the bridge connecting publishers and subscribers within your application.

Features

  • Typed Channels: Each channel in Berberis CrossBar is a typed destination, creating a clear and efficient path for message passing between publishers and subscribers.

  • Message Conflation: Berberis CrossBar supports message conflation, enhancing the efficiency of your messaging system by preventing the overloading of channels with redundant or unnecessary data.

  • Record/Replay: The broker provides a record/replay feature that can serialize a stream of updates into a stream. This serialized stream can then be deserialized and published on a channel, facilitating efficient data replay and debugging.

  • Comprehensive Observability: With Berberis CrossBar, you can trace not only messages but also a wide array of statistics, including service time, latencies, rates, sources, percentiles, and more. This empowers you to gain deeper insights into the performance of your messaging system and make data-driven optimizations.

  • Stateful Channels: Berberis CrossBar offers stateful channels, which store the latest published messages by key. This allows new subscribers to fetch the most recent state of the channel upon subscription, keeping everyone up-to-date and in sync.

  • Channel Reset and Message Deletions: Berberis CrossBar also supports channel resets, allowing you to clear a channel and start fresh when necessary. Individual message deletions are also supported, ensuring that you have full control over the data in your channels.

  • Wildcard Subscriptions: The system supports wildcard subscription patterns like '*' and '>', offering you more flexibility and control over the messages you subscribe to.

  • Metrics Export: With the MetricsToJson extension method, you can easily generate a comprehensive JSON report of metrics from all CrossBar channels and each subscription. This feature provides an efficient way to monitor and optimize the performance of your messaging system.

Getting Started

You can add Berberis CrossBar to your project through NuGet:

Install-Package Berberis.Messaging

Quick Start

Here is a basic usage example:

	ICrossBar xBar = new CrossBar();
	var destination = "number.inc";	
	
	using var subscription = xBar.Subscribe<int>(destination, msg => ProcessMessage(msg));
	
	for (int i = 0; i < 1000; i++)
	{
		xBar.Publish(destination, i);
	}
	
	ValueTask ProcessMessage(Message<long> message)
	{
		Console.WriteLine(message.Body);
		return ValueTask.CompletedTask;	
	}
	
	await subscription.MessageLoop;

Conflation and state fetching example:

	using var subscription = 
					xBar.Subscribe<int>(destination,
									 msg => ProcessMessage(msg),
									 fetchState: true,
									 TimeSpan.FromSeconds(1));	

For a more detailed guide on how to use Berberis CrossBar, please refer to our documentation.

Contributing We appreciate any contributions to improve Berberis CrossBar. Please read our Contributing Guide for guidelines about how to proceed.

License Berberis CrossBar is licensed under the GPL-3 license.

Product 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 was computed.  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 was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.5.2 148 10/26/2025
1.5.1 121 10/25/2025
1.5.0 118 10/25/2025
1.4.6 92 10/25/2025
1.4.0 156 10/23/2025
1.1.30 1,152 4/11/2025
1.1.29 24,275 3/2/2023
1.1.28 489 12/11/2022
1.1.27 405 12/8/2022
1.1.26 430 12/4/2022
1.1.25 420 12/4/2022
1.1.24 425 12/4/2022
1.1.23 400 12/3/2022
1.1.22 414 12/3/2022
1.1.21 433 12/3/2022
1.1.20 419 12/3/2022
1.1.19 478 12/3/2022 1.1.19 is deprecated.
1.1.18 473 12/3/2022 1.1.18 is deprecated.
1.1.16 468 11/5/2022
1.1.15 449 11/5/2022
1.1.14 464 11/4/2022
1.1.13 468 11/3/2022
1.1.12 457 11/3/2022
1.1.11 453 11/2/2022
1.1.10 445 11/2/2022
1.1.9 452 11/1/2022
1.1.8 471 11/1/2022
1.1.7 429 11/1/2022
1.1.6 537 10/9/2022
1.1.5 497 10/9/2022
1.1.4 511 10/9/2022
1.1.3 600 7/10/2022
1.1.2 544 7/5/2022
1.1.1 547 7/4/2022
1.1.0 570 7/2/2022
1.0.10 550 7/2/2022
1.0.9 557 7/2/2022
1.0.8 538 6/30/2022
1.0.7 550 6/29/2022
1.0.6 563 6/29/2022
1.0.5 542 6/27/2022
1.0.4 570 6/26/2022
1.0.3 542 6/26/2022
1.0.2 555 6/21/2022
1.0.1 533 6/11/2022
1.0.0 731 6/11/2022