![]() |
VOOZH | about |
dotnet add package Haukcode.HighPerfComm --version 1.0.32
NuGet\Install-Package Haukcode.HighPerfComm -Version 1.0.32
<PackageReference Include="Haukcode.HighPerfComm" Version="1.0.32" />
<PackageVersion Include="Haukcode.HighPerfComm" Version="1.0.32" />Directory.Packages.props
<PackageReference Include="Haukcode.HighPerfComm" />Project file
paket add Haukcode.HighPerfComm --version 1.0.32
#r "nuget: Haukcode.HighPerfComm, 1.0.32"
#:package Haukcode.HighPerfComm@1.0.32
#addin nuget:?package=Haukcode.HighPerfComm&version=1.0.32Install as a Cake Addin
#tool nuget:?package=Haukcode.HighPerfComm&version=1.0.32Install as a Cake Tool
High-performance .NET library for packet-based network communication with built-in memory pooling, pipelining, and performance monitoring.
✅ High-performance async packet processing
✅ Memory-efficient with buffer pooling
✅ Built-in HDR histogram statistics
✅ Automatic packet age management
✅ Back-pressure handling
✅ Supports .NET Standard 2.1, .NET 8.0, .NET 9.0
using Haukcode.HighPerfComm;
// 1. Extend the Client base class
public class MyUdpClient : Client<MySendData, MyPacket>
{
public MyUdpClient(int packetSize, Func<MyPacket, Task> handler)
: base(packetSize, handler, null) { }
// Implement abstract methods for your protocol
protected override void InitializeReceiveSocket() { /* ... */ }
protected override void DisposeReceiveSocket() { /* ... */ }
protected override ValueTask<(int, SocketReceiveMessageFromResult)>
ReceiveData(Memory<byte> memory, CancellationToken ct) { /* ... */ }
protected override ValueTask<int> SendPacketAsync(
MySendData data, ReadOnlyMemory<byte> payload) { /* ... */ }
protected override MyPacket? TryParseObject(
ReadOnlyMemory<byte> buffer, double timestamp,
IPEndPoint source, IPAddress dest) { /* ... */ }
}
// 2. Use your client
using var client = new MyUdpClient(1500, async packet =>
{
Console.WriteLine($"Received: {packet}");
});
// 3. Send packets
await client.QueuePacket(
allocatePacketLength: dataLength,
important: false,
sendDataFactory: () => new MySendData(),
packetWriter: buffer => { /* fill buffer */ return length; }
);
// 4. Monitor performance
var stats = client.GetSendStatistics(reset: false);
Console.WriteLine($"Total: {stats.TotalPackets}, Dropped: {stats.DroppedPackets}");
Memory<T> and Span<T>System.Threading.ChannelsMemoryPool<byte>For comprehensive documentation, examples, and API reference, visit:
👉 GitHub Repository
MIT License - see LICENSE
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 netstandard2.1 is compatible. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 3 NuGet packages that depend on Haukcode.HighPerfComm:
| Package | Downloads |
|---|---|
|
Haukcode.ArtNet
ArtNet library for .NET Core (.NET8+) |
|
|
Haukcode.sACN
A simple sACN library for .NET Core |
|
|
Haukcode.KiNet
A simple KiNet library for .NET Core |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.32 | 266 | 5/19/2026 |
| 1.0.31 | 225 | 5/2/2026 |
| 1.0.30 | 522 | 3/19/2026 |
| 1.0.29 | 1,313 | 2/5/2026 |
| 1.0.28 | 156 | 2/5/2026 |
| 1.0.24 | 701 | 10/7/2025 |
| 1.0.23 | 553 | 4/8/2025 |
| 1.0.22 | 634 | 3/13/2025 |
| 1.0.21 | 243 | 2/13/2025 |
| 1.0.20 | 279 | 1/24/2025 |
| 1.0.19 | 231 | 1/15/2025 |
| 1.0.18 | 230 | 1/10/2025 |
| 1.0.17 | 296 | 1/7/2025 |
| 1.0.16 | 210 | 1/7/2025 |
| 1.0.15 | 449 | 12/17/2024 |
| 1.0.14 | 172 | 12/17/2024 |
| 1.0.13 | 344 | 12/12/2024 |
| 1.0.12 | 213 | 12/12/2024 |
| 1.0.11 | 248 | 12/10/2024 |
| 1.0.10 | 229 | 12/6/2024 |