Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.oxd.sh/llms.txt

Use this file to discover all available pages before exploring further.

For AI coding assistants

This page helps AI coding agents (Claude Code, Cursor, Copilot, Windsurf, etc.) integrate Oxidize Accel into any application as fast as possible. Point your coding agent here, or include llms.txt in your project context.

API surface (6 functions)

ox_accel_create(config*)        → OxAccel*       Create context
ox_accel_connect(ctx)           → OxAccelError   Connect to relay
ox_accel_send(ctx, data, len)   → OxAccelError   Send payload
ox_accel_recv(ctx, buf, len, &out) → OxAccelError Receive payload
ox_accel_stats(ctx, &stats)     → OxAccelError   Get statistics
ox_accel_destroy(ctx)           → void           Free context
ox_accel_version()              → const char*    SDK version

Config struct

struct OxAccelConfig {
    const char *api_key;        // Oxidize API key
    const char *relay_host;     // Relay hostname (e.g. "relay.oxd.sh")
    uint16_t    relay_port;     // Default: 51820
    bool enable_fec;            // Forward Error Correction
    bool enable_compression;    // Adaptive compression
    bool enable_multipath;      // Multipath bonding
};

Error codes

0 Ok, 1 InvalidParam, 2 InitFailed, 3 NotConnected, 4 SendFailed, 5 RecvFailed, 6 Timeout, 7 BufferTooSmall

Per-language quickest path

LanguageMechanismZero-copy pattern
C/C++#include "oxaccel.h", link -loxaccelDirect pointer
Pythonctypes.CDLL("liboxaccel.so")Pass bytes directly
Gocgo + #include "oxaccel.h"unsafe.Pointer(&data[0]) + runtime.KeepAlive
Java/KotlinJNI bridge → System.loadLibraryByteBuffer.allocateDirect()
C#/Unity[DllImport("oxaccel")] P/Invokefixed(byte* ptr = data)
SwiftBridging headerdata.withUnsafeBytes {}
Node.jskoffi.load("liboxaccel.so")Buffer maps to uint8_t*
Dart/FlutterDynamicLibrary.open, dart:ffiPointer<Uint8>
React NativeJNI (Android) + bridging header (iOS)Base64 over bridge

Performance rules

  1. Create context once, send/recv many times
  2. Use zero-copy patterns for your language (see above)
  3. Pre-allocate and reuse receive buffers
  4. Enable FEC for lossy networks
  5. Disable compression for latency-sensitive workloads (gaming, trading)
  6. Never call recv from multiple threads on same context

Platform libraries

PlatformFile
Linux x86_64liboxaccel.so / liboxaccel.a
Linux aarch64liboxaccel.so / liboxaccel.a
Linux muslliboxaccel.a (static only)
macOS Universalliboxaccel.dylib / liboxaccel.a
Windowsoxaccel.dll + oxaccel.lib
Androidliboxaccel.so per ABI
iOSliboxaccel.a (static)

Full binding docs

C# / Unity

C++ / Unreal

Go

Python

Java

Kotlin

Swift

Node.js

Dart / Flutter

React Native