/zenoh-csharp

C# API for zenoh

Primary LanguageC#OtherNOASSERTION

zenoh banner

NuGet License License

Zenoh C# API

中文/chinese readme

Zenoh is an extremely efficient and fault-tolerant Named Data Networking (NDN) protocol that is able to scale down to extremely constrainded devices and networks.

The C# API is for pure clients, in other terms does not support peer-to-peer communication, can be easily tested against a zenoh router running in a Docker container (see https://github.com/eclipse-zenoh/zenoh#how-to-test-it).


How to install it

Requirements:

  • The zenoh-c library must be installed on your host
  • The zenoh C# library Zenoh-CS is available on NuGet:

Supported .NET Standards

  • .NET 6.0
  • .NET 7.0

Supported CPU arch

  • x64
  • arm64 (untested)

Mapping between Zenoh-CS and Zenoh-C versions

Zenoh-C Zenoh-CS
v0.7.2-rc v0.1.*

How to build it

Requirements:

  • The zenoh-c library must be installed on your host
  • A .NET environment. .NET6 or .NET7 SDK

Build:
Because some of Zenoh-C data structures are not the same length in x64 and arm64, you need to add the option -p:Platform=x64 or -p:Platform=ARM64 when building.

# x64 CPU
dotnet build Zenoh.csproj -c Release -p:Platform=x64
# arm64 CPU
dotnet build Zenoh.csproj -c Release -p:Platform=ARM64

Running the Examples

Build and run the zenoh-csharp examples following the instructions in examples/README.md