
iceoryx2 C# Language Bindings
C#-Bindings für iceoryx2 Zero-Copy IPC - mein Beitrag zum eclipse-iceoryx Open-Source-Projekt.
Beschreibung
iceoryx2 ermöglicht Inter-Process Communication ohne Kopieroperationen. Ich habe die C#-Bindings entwickelt und zum eclipse-iceoryx Projekt beigetragen. Die Bindings wurden mit dem iceoryx2 v0.8.0 Release eingeführt und leben in einem eigenen Repository.
Die Architektur ist in Schichten aufgebaut:
- Native FFI Layer: Direkte Calls zum Rust-Core via P/Invoke
- SafeHandle Management: Memory-safe Ressourcenverwaltung via IDisposable
- High-Level API: Idiomatische C#-Interfaces für .NET-Entwickler
Unterstützte Kommunikationsmuster:
- Publish-Subscribe
- Event API
- Request-Response
Die Transferzeit ist konstant - unabhängig von der Payload-Größe. 10 Bytes brauchen genauso lang wie 10 Megabytes. Datentypen nutzen [StructLayout(LayoutKind.Sequential)] für Cross-Process-Kompatibilität.
Die Bindings bieten async/await Support mit CancellationToken-Integration, Service Discovery und Node Monitoring. Cross-Platform: Linux, macOS, Windows.
GitHub: https://github.com/eclipse-iceoryx/iceoryx2-csharp
Tech-Stack
- C#
- .NET
- Rust FFI
- P/Invoke
- SafeHandle
- Shared Memory
- Linux
- macOS
- Windows
- GitHub Actions



