Skip to main content

Integrate a language with Tenon IPC

IPC carries records between plugin processes and the Runner. A language implementation must agree with its peers on the data format, ordering, notification, and cleanup behavior.

Most plugin developers should use an existing SDK. Work on IPC when adding a language, supporting a platform, or changing the communication layer itself.

Focus on compatibility​

  • Consume the shared definitions and test vectors instead of maintaining separate protocol copies.
  • Check both language directions: each implementation must work as sender and receiver.
  • Exercise process interruption, failure, and cleanup as well as ordinary data flow.
  • Run native checks on every OS and CPU combination the contribution claims to support.

Where to work​

Repository resourceUse it for
IPC contractFormats, wait/wake behavior, ownership, errors, and verification commands
Rust IPC implementationExisting Rust behavior and tests
Java IPC implementationExisting Java behavior and tests
Shared IPC vectorsCross-language format and error cases
SDK contractHow the SDK uses IPC for plugin lifecycle and records

After IPC works with the Runner, continue with SDK Development and verify a complete generated plugin.