No description
  • TypeScript 53.5%
  • Rust 46.5%
Find a file
2026-05-20 22:08:34 +02:00
core [Clean] 2026-04-28 16:33:12 +02:00
native [Change] default bind to :: 2026-05-20 21:08:48 +02:00
web (feat): dynamic response timeouts 2026-05-04 17:38:41 +02:00
.gitignore Added base web project, removed wasm, optimized gitignore 2026-02-25 19:25:11 +01:00
bun.lock [Fix] Spelling 2026-05-01 16:28:13 +02:00
Cargo.lock [Change] default bind to :: 2026-05-20 21:08:48 +02:00
Cargo.toml [Fix] Spelling 2026-05-01 16:28:13 +02:00
eslint.config.ts Added ttp web 2026-04-13 16:44:35 +02:00
LICENSE Create LICENSE 2026-02-25 10:08:49 +01:00
package.json (chore): update frontend version 2026-05-20 22:08:34 +02:00
README.md Added ttp web 2026-04-13 16:44:35 +02:00
tsconfig.build.json [feat] Add built version of ttp web implementation 2026-04-13 17:23:16 +02:00
tsconfig.json [feat] Add built version of ttp web implementation 2026-04-13 17:23:16 +02:00
ttp-codec.json Merge remote-tracking branch 'refs/remotes/origin/main' 2026-05-17 22:51:37 +02:00

TTP

Tensamin Transport Protocol

TTP is a transport-layer library.

Project overview

  • TTP defines lightweight transport primitives and reference behavior for message delivery, connection management, and optional congestion control features.
  • The repository separates concerns:
    • protocol core logic (pure Rust, platform-agnostic)
    • native / platform-specific integration code (FFI, platform APIs, or optimizations)

Repository structure

  • core/ core protocol implementation
  • native/ platform/native integrations
  • cli/ in progress CLI to en-/decode TTP messages
  • web/ web & node implementation

Core

The core section consists of Communication Value encoding. A Communication Value consists of:

  • a Communication Type,
  • an optional sender ID,
  • an optional receiver ID,
  • an optional Message ID,
  • a Data Value of type Conatiner.

A DataValue may be:

  • a Container,
    • consists of DataTypes mapped to DataValues
  • an Array,
    • consists of DataValues
  • a Boolean,
  • a Number (rust i64),
  • a String,
  • Null.

A DataType is a 1 byte number, arbitrarily mapped to a defined name. The list of standart DataTypes mapped to their binary value can be found at core/src/data_types.rs.

Native

The Native crate creates basic communication via WTransport. It allows for communication between the Tensamin Processes.

It consists of the Connection, the Host and the Client.

The Connection is split into the Sender and Receiver. Messages can be send from one Partys Sender to the other Partys Receiver.

The Host accepts Client connection requests. The Hosts .next() function repeatedly produces Senders and Receivers when Clients connect.

The Client produces a Sender and Receiver when the .connect() function is called.