TiJet gRPC SDK Reference Manual

Version 1.0.0 | Based on proto contract tincore.TinCore service

Architecture

$$proto/tincore.proto ← Single source of truth │ ├── sdk/c/ libtijet_c.so ← C ABI (C/C++/embedded — ABI compatibility) ├── sdk/python/tijet_grpc/ ← Python (native grpcio) ├── sdk/java/ ← Java (native grpc-java + Netty) ├── sdk/csharp/TiJet.Grpc/ ← C# (native Grpc.Net.Client) └── sdk/cpp/ ← C++ lightweight wrapper (header-only)$$

Core principle: Each layer uses the language’s native gRPC library (not C FFI), but API shapes remain consistent.

Quickstart

C

#include "tijet_core.h"

int main(void) {
    tijet_client_t *cli = tijet_client_create();
    if (tijet_client_connect(cli, NULL) != TIJET_OK) {
        fprintf(stderr, "Connection failed: %s\n", tijet_client_last_error(cli));
        tijet_client_destroy(cli);
        return 1;
    }
    tijet_client_set_parameter(cli, "print_speed", "100");
    tijet_client_disconnect(cli);
    tijet_client_destroy(cli);
    return 0;
}

Python

from tijet_grpc import TinCore

with TinCore() as client:
    client.connect()
    client.set_parameter("print_speed", "100")
    speed = client.get_parameter("print_speed")
    print(f"print_speed = {speed}")

Java

import com.tijet.grpc.TinCore;

try (TinCore client = new TinCore()) {
    client.connect(null);
    client.setParameter("print_speed", "100");
    String speed = client.getParameter("print_speed");
    System.out.println("print_speed = " + speed);
}

C#

using TiJet.Grpc;

using var client = new TinCore();
client.Connect(null);
client.SetParameter("print_speed", "100");
string speed = client.GetParameter("print_speed");
Console.WriteLine($"print_speed = {speed}");

SDK Status

SDKImplementationTestsDocs
C✅ CompleteDoxygen
Python✅ Completedocstring
Java✅ CompleteJavadoc
C#✅ CompleteXML doc
C++ wrapper✅ Complete

Note: For the complete reference manual including all API details, error codes, parameter registry, and event/log subscriptions, see the Chinese documentation.