Berberis.Messaging
1.1.30
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
<PackageReference Include="Berberis.Messaging" Version="1.1.30" />
<PackageVersion Include="Berberis.Messaging" Version="1.1.30" />
<PackageReference Include="Berberis.Messaging" />
paket add Berberis.Messaging --version 1.1.30
#r "nuget: Berberis.Messaging, 1.1.30"
#:package Berberis.Messaging@1.1.30
#addin nuget:?package=Berberis.Messaging&version=1.1.30
#tool nuget:?package=Berberis.Messaging&version=1.1.30
Berberis CrossBar Messaging
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 | 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 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. |
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.4)
- System.IO.Pipelines (>= 9.0.4)
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.18 | 473 | 12/3/2022 | |
| 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 |