✨ Welcome to Join Framework#

Join is a modular C++ network runtime framework for Linux, designed for optimized throughput and latency in system-level networking.

It provides a set of composable libraries covering networking primitives, concurrency, serialization, cryptography, and Linux network fabric management.


🚀 Design Goals#

  • Linux-native networking (sockets, netlink, raw sockets)
  • Event-driven and reactor-based architecture
  • Low-jitter event processing
  • Strong separation of concerns via modular libraries
  • High test coverage and correctness-first design

🎯 Target Use Cases#

Designed for:

  • Network services and microservices
  • Control plane and infrastructure components
  • System-level networking tools
  • High-performance servers (web, RPC, messaging)

Not designed for:

  • Sub-microsecond latency requirements (HFT, market data)
  • Kernel-bypass networking (use DPDK or RDMA instead)
  • Data plane packet processing at 100 Gbps

🏗 Modular Architecture#

The framework is a collection of specialized modules that build upon one another:

ModulePurposeHighlights
coreFoundationEpoll Reactor, TCP/UDP/TLS, Unix Sockets, Thread Pools, Lock-Free Queues & Allocator
fabricNetwork ControlNetlink Interface Manager, ARP client, DNS Resolver
cryptoSecurityOpenSSL Wrappers, HMAC, Digital Signatures, Base64
dataSerializationHigh-perf JSON (DOM/SAX), MessagePack, Zlib Streams
servicesProtocolsHTTP/1.1 (Client/Server), SMTP, Mail Parsing

🛠️ Getting Started#

New to Join? Start with our Quick Start Guide to get up and running in minutes.


📊 Quality#

Every commit is validated against an extensive test suite to ensure stability in concurrent environments:

  • 1000+ unit tests covering networking, concurrency, and data parsing
  • Continuous security scanning via Codacy and GitHub Security workflows

📖 Resources#