Requirements

  • JDK ≥ 17
  • The native FFI lib telequick_core_ffi.so / .dylib / .dll on java.library.path.
  • Netty’s QUIC incubator dependency (pulled in transitively).

Maven

<dependency>
  <groupId>dev.telequick</groupId>
  <artifactId>telequick-sdk</artifactId>
  <version>0.1.0</version>
</dependency>

Gradle

dependencies {{
    implementation("dev.telequick:telequick-sdk:0.1.0")
}}

Native lib placement

The SDK uses JNA’s Native.load:
Native.load("telequick_core_ffi", CoreFFI.class);
JNA looks in:
  1. jna.boot.library.path
  2. jna.library.path
  3. java.library.path
  4. The system loader’s default path
For ad-hoc runs:
java -Djna.library.path=/usr/local/lib \
     -jar your-app.jar
For Docker / k8s, drop the .so into /usr/lib so the system loader finds it without flags.

Smoke test

import dev.telequick.sdk.TeleQuickClient;

public class Smoke {{
    public static void main(String[] args) {{
        TeleQuickClient c = new TeleQuickClient(
            "quic://engine.telequick.dev:9090",
            "/etc/telequick/service-account.json"
        );
        System.out.println("client OK: " + c);
    }}
}}