Requirements

  • Go ≥ 1.22
  • A C toolchain (gcc or clang) — required by CGO.
  • telequick_core_ffi.so (Linux) / .dylib (macOS) / .dll (Windows) on a library search path.

Install

go get github.com/telequick/telequick-sdk/go

Linking the native lib

The package uses #cgo LDFLAGS: -ltelequick_core_ffi. The linker has to find the matching .so at link and run time.
sudo cp telequick_core_ffi.so /usr/local/lib/
sudo ldconfig
If you’re cross-building inside Bazel:
bazel build //core:telequick_core_ffi.so
cp bazel-bin/core/telequick_core_ffi.so /usr/local/lib/

Smoke test

package main

import (
    "fmt"
    telequick "github.com/telequick/telequick-sdk/go/pkg"
)

func main() {{
    c, err := telequick.NewClient("quic://engine.telequick.dev:9090", "")
    if err != nil {{
        panic(err)
    }}
    fmt.Println("client:", c)
}}
The empty second arg makes NewClient read the path from TELEQUICK_CREDENTIALS.