ascii-chat
Binary v0.15.83-53-gb711d8720
Library lib/v0.3.2-701-gb711d8720
Video chat in your terminal
Loading...
Searching...
No Matches
Topic Categories

📚 Detailed documentation for major subsystems

📚 Detailed documentation for major subsystems

This page provides detailed information about the major subsystems in ascii-chat. Each topic covers architecture, implementation details, usage patterns, and best practices. The categories below correspond to the CMake library modules used to build ascii-chat.

🛠️ Utilities

🛠️ Core utility functions for string manipulation, paths, IP parsing, and formatting

📦 Data Structures

📦 High-performance data structures for memory and packet management

  • Owned Buffers - Bounded aligned storage with explicit ownership
  • Ring Buffer - Lock-free circular buffers for audio/video
  • Packet Queue - Thread-safe per-client packet queues
  • uthash library "Hash Table" - High-performance client ID lookup

🔌 Platform Abstraction

🔌 Cross-platform abstraction for threading, sockets, and system APIs

  • Platform Abstraction Layer README - Comprehensive guide covering cross-platform threading, mutexes, sockets, terminal I/O, crash handling, static initialization, and OS portability (Windows/Linux/macOS)
  • Webcam Capture - Cross-platform webcam capture functionality

🔐 Cryptography

🔐 End-to-end encryption and secure communication

📹 Video to ASCII Conversion

📹 Video capture, ASCII conversion, and frame layout

🔊 Audio Processing

🔊 Audio capture, playback, and multi-client mixing

⚙️ Core Infrastructure

⚙️ Core functionality including error handling, logging, and configuration

🖥️ User Interface

Terminal presentation, input routing, widgets, and interactive screens.

🌐 Network

🌐 Network I/O, packet protocol, and audio/video streaming

💻 Client Application

💻 Client application for connecting to servers and streaming media

🖥️ Server

🖥️ ascii-chat server implementation and architecture

🔍 Discovery Service (ACDS)

🔍 ascii-chat Discovery Service for session management and NAT traversal

🔧 Development & Debugging

🔧 Build system, testing infrastructure, and debugging utilities

🧰 Tooling

🧰 Source-to-source transformation tools for debugging and code quality.

Authored Documentation

Focused documentation that supplements the source-level topics is organized below by purpose. These links intentionally live in Topic Categories rather than in a flat Pages sidebar.

Architecture and runtime behavior

Build, release, and operations

Development and debugging

Testing and validation

Tooling

  • Defer Tool - Go/Zig-style defer transformation for C