Skip to content

Lucineer/telepathy-c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

telepathy-c

Bare-metal A2A message transport in pure C11. Zero dependencies. Binary encoding (1050-byte max). Fixed-capacity mailbox, no heap. Trust-gated sending, rate limiting, delivery receipts. Designed for embedded: compiles for ARM Cortex-M, RISC-V, any target with a C compiler.

Quick Start

make test

Design

  • 1050 bytes max message — fits in a single Ethernet/802.15.4 frame MTU with room for headers
  • 26-byte wire header — from(8B) + to(8B) + type(1B) + ttl(1B) + energy(2B) + timestamp(4B) + payload_len(2B)
  • Little-endian encoding — natural on ARM Cortex-M, RISC-V, x86
  • No heap — all buffers are fixed-size, stack-allocated, or static
  • Trust gating — routers reject messages from vessels below trust threshold (default 0.1)
  • Energy budgeting — each message costs energy; mailboxes enforce budgets
  • Rate limiting — per-vessel minimum interval between sends
  • Delivery receipts — track sent messages, detect timeouts

Files

File Purpose
telepathy.h Public API — all types and functions
telepathy.c Implementation
test_telepathy.c 15+ unit tests, no framework needed
Makefile Build and test

Message Types

Matches FLUX opcodes 0x60–0x6B: TELL, ASK, DELEGATE, BROADCAST, REDUCE, REPLY, FORWARD, LISTEN, FORK, JOIN, WAIT, SIGNAL.

License

Public domain / MIT — use it anywhere.

About

Pure C11 A2A message transport — bare-metal 1050-byte messages, mailbox, router, receipts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors