Requirements
- .NET ≥ 8.0 (for
System.Net.Quic).
- The native FFI lib
telequick_core_ffi.so / .dylib / .dll reachable by
DllImport (next to the executable, on PATH/LD_LIBRARY_PATH, or
configured via NativeLibrary.SetDllImportResolver).
System.Net.Quic requires DOTNET_SYSTEM_NET_QUIC_ENABLE=1 on Windows
for some Server Core SKUs. Linux and macOS are fine out of the box.
Install
dotnet add package TeleQuick.SDK
Native lib placement
The SDK calls into native via [DllImport("telequick_core_ffi")].
Drop the binary somewhere the dotnet runtime can find it:
sudo cp telequick_core_ffi.so /usr/local/lib/
sudo ldconfig
For a custom search path, register a resolver during startup:
using System.Runtime.InteropServices;
NativeLibrary.SetDllImportResolver(typeof(TeleQuick.SDK.NativeMethods).Assembly,
(name, asm, _) =>
{{
if (name != "telequick_core_ffi") return IntPtr.Zero;
var custom = Environment.GetEnvironmentVariable("TELEQUICK_LIB_PATH");
return custom is not null
? NativeLibrary.Load(custom)
: IntPtr.Zero;
}});
Smoke test
using TeleQuick.SDK;
var client = new TeleQuickClient(
"quic://engine.telequick.dev:9090",
"/etc/telequick/service-account.json"
);
Console.WriteLine($"client constructed: {{client}}");