BlueHeighliner.Comlink
0.2.0
dotnet add package BlueHeighliner.Comlink --version 0.2.0
NuGet\Install-Package BlueHeighliner.Comlink -Version 0.2.0
<PackageReference Include="BlueHeighliner.Comlink" Version="0.2.0" />
<PackageVersion Include="BlueHeighliner.Comlink" Version="0.2.0" />
<PackageReference Include="BlueHeighliner.Comlink" />
paket add BlueHeighliner.Comlink --version 0.2.0
#r "nuget: BlueHeighliner.Comlink, 0.2.0"
#:package BlueHeighliner.Comlink@0.2.0
#addin nuget:?package=BlueHeighliner.Comlink&version=0.2.0
#tool nuget:?package=BlueHeighliner.Comlink&version=0.2.0
Comlink
A peer-to-peer messaging engine built on .NET 10 and the Mercury Secure Message Transport (MSMT) protocol, with a built-in Avalonia desktop GUI. The GUI is a required dependency, not optional — it can run headless (no window shown), but Avalonia and its dependencies are always loaded.
Installing
dotnet add package BlueHeighliner.Comlink
Getting started
A host implements IEngineController (via DefaultEngineController<TMessage>, generic over its own message DTO) and starts the engine with Engine.Start:
public sealed class MyEngineController(ICurrentUserProvider currentUserProvider)
: DefaultEngineController<MyMessage>(currentUserProvider)
{
protected override string GetMessageId(MyMessage message) => message.Id;
// ...every other required message-field member...
}
await Engine.Start(args, services => services.AddSingleton<IEngineController, MyEngineController>());
See Sample/ for a complete, runnable host, and Docs/Usage.md for further examples.
Documentation
| File | Covers |
|---|---|
| Docs/Api.md | Public API design and flow — IEngineController, Engine.Start |
| Docs/Architecture.md | High-level design decisions |
| Docs/Project.md | This repo's own tooling: Scripts/, publishing, CI |
| Docs/Usage.md | Runnable usage examples |
| Docs/Components/ | One file per complex internal component/subsystem |
License
| Product | Versions 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. |
-
net10.0
- Avalonia (>= 11.3.0)
- Avalonia.AvaloniaEdit (>= 11.3.0)
- Avalonia.Desktop (>= 11.3.0)
- Avalonia.Themes.Fluent (>= 11.3.0)
- BlueHeighliner.Msmt (>= 0.1.5)
- CommunityToolkit.Mvvm (>= 8.4.0)
- LiteDB (>= 5.0.21)
- Microsoft.Extensions.Hosting (>= 10.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- protobuf-net (>= 3.2.30)
- Tmds.DBus.Protocol (>= 0.21.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.