ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
Topics
Here is a list of all topics with brief descriptions:
[detail level 123]
 Session Management ModuleReal-time audio-video session abstraction layer
 WebRTC Peer ManagerManage WebRTC peer connections for session participants
 WebRTC P2P ConnectionsWebRTC DataChannel transport for ACIP packets
 Platform AbstractionsCross-platform abstractions for threading, sockets, system calls, and hardware access
 Lifecycle with Sync PrimitivesCombined lifecycle + sync primitive initialization and shutdown
 ANSI Utilities
 ▼OS Abstractions
 Webcam Module๐Ÿ“ท Cross-platform webcam capture API
 annotations in the source code.
 ▼Discovery Service (ACDS)๐Ÿ” ascii-chat Discovery Service for session management and NAT traversal
 ACDS Server๐ŸŒ Discovery server TCP connection manager
 ACDS Database๐Ÿ’พ SQLite-based session management
 ACDS Signaling๐ŸŽฌ WebRTC SDP/ICE signaling relay
 ACDS Identity๐Ÿ”‘ Ed25519 identity key management
 ACDS Session Strings๐Ÿท๏ธ Human-friendly session string generation
 ▼Utilities๐Ÿ› ๏ธ Core utility functions for string manipulation, paths, IP parsing, and formatting
 Utility Functions๐Ÿ› ๏ธ String, path, IP, UTF-8, CRC32, and formatting utilities
 ▼Data Structures๐Ÿ“ฆ High-performance data structures for memory and packet management
 Buffer Pool๐Ÿ—ƒ๏ธ Pre-allocated memory buffers for efficient allocation
 Packet Queue๐Ÿ“ฌ Thread-safe per-client packet queues
 Ring Buffer๐Ÿ” Lock-free circular buffers for audio/video
 Abstraction Layers๐Ÿ”Œ Cross-platform abstraction for threading, sockets, and system APIs
 ▼Cryptography๐Ÿ” End-to-end encryption and secure communication
 Handshake Module๐Ÿค Cryptographic handshake implementation for key exchange and authentication
 Keys Module๐Ÿ”‘ SSH key, GPG key, and key validation APIs
 ▼video๐Ÿ“น Video capture, ASCII conversion, and frame layout
 Grid Layout Systemโน๏ธ Arranging the clients nicely
 Character Palettes๐ŸŽจ Character palettes for video-to-ASCII conversion
 ▼Video to ASCII Conversion๐Ÿ–ผ๏ธ Everything necessary to turn pixels into text art
 Video Frame Buffers๐Ÿ“น High-performance video frame management with double-buffering and lock-free operations
 Video Frame Buffers๐Ÿ“น High-performance video frame management with double-buffering and lock-free operations
 ▼Audio Processing๐Ÿ”Š Audio capture, playback, and multi-client mixing
 Audio๐Ÿ”Š Audio system for real-time audio capture and playback
 ▼Core Infrastructureโš™๏ธ Core functionality including error handling, logging, and configuration
 Common Definitionsโš™๏ธ Code shared throughout the library
 Buffer SizesStandard buffer size constants
 Error and Exit CodesError codes and status values for ascii-chat
 Application LimitsLimits for clients, frame rates, display names, and other constraints
 Logging Rate LimitsStandard rate limits for log_*_every() macros
 Protocol ConstantsProtocol version, feature flags, compression, and frame constants
 Shutdown SystemClean shutdown detection without library accessing application state
 String Literal ConstantsCommon string literal constants for boolean and value comparisons
 Logging System๐Ÿ“ Logging API with multiple log levels and terminal output control
 Config ModuleThe toml text file configuration file module
 Options Moduleโš™๏ธ Command-line option parsing with unified mode detection, builder API, and RCU-based thread-safe access
 ▼Validation HelpersReusable validation macros for protocol handlers
 Image Validation Functions
 main()๐Ÿš€ The binary's entry point
 ▼Network๐ŸŒ Network I/O, packet protocol, and audio/video streaming
 Network Module๐ŸŒ Core network I/O operations with timeout support
 Shared Packet Parsing Utilities๐Ÿ“ก Shared protocol parsing utilities for server and client packet handlers
 Compression Module๐Ÿ“ฆ Network compression utilities for ascii-chat
 Packet Types๐Ÿ“จ Network protocol packet type definitions and structures
 ▼Application: Client๐Ÿ’ป Client application for connecting to servers and streaming media
 Audio Processing๐Ÿ”Š Audio capture, playback, and sample processing
 Media Capture๐Ÿ“น Webcam video capture and transmission to server
 Connection Management๐Ÿ”— Server connection establishment, packet transmission, and state tracking
 Cryptographic Operations๐Ÿ” Client-side cryptographic handshake and key management
 Terminal Display๐Ÿ–ฅ๏ธ Terminal rendering, TTY management, and frame output
 Connection Keepalive๐Ÿ’“ Ping/pong keepalive and timeout detection
 Client Main Entry Point๐Ÿš€ Main entry point and lifecycle orchestration for the client application
 Client Handler๐Ÿ“ก Client-side packet processing and data reception thread
 ▼Application: Server๐Ÿ–ฅ๏ธ ascii-chat server implementation and architecture
 Server Main Entry Point๐Ÿš€ Server initialization, signal handling, and connection management
 Client Management๐Ÿ‘ฅ Per-client lifecycle management and threading coordination
 Protocol Handler๐Ÿ“ก Network packet processing and protocol implementation
 Stream Generation๐ŸŽฌ Multi-client video mixing and ASCII frame generation
 Render Threads๐ŸŽจ Per-client rendering threads with rate limiting
 Statistics and Monitoring๐Ÿ“Š Performance monitoring and resource utilization tracking
 Cryptographic Operations๐Ÿ” Per-client cryptographic handshake and session encryption management
 ▼Development & Debugging๐Ÿ”ง Build system, testing infrastructure, and debugging utilities
 Build System๐Ÿ”จ Compile human-readable code into machine-executable code
 Debugging๐Ÿ› Tools to help you figure out what's going on with the code
 Defer Statements๐Ÿ”„ Go/Zig-style defer statements for automatic cleanup in C
 Dependenciesโ›“๏ธ External projects we rely on
 Error Handlingโš ๏ธ Thread-Local Error Number System with Context
 ErrorsโŒ When things go wrong and ending the program unsuccessfully
 Lock Debugging and Deadlock Detection๐Ÿ”’ Lock debugging infrastructure with backtrace capture and interactive monitoring
 Panic Instrumentation๐Ÿšจ Per-statement logging for crash debugging in C programs
 Query ToolHTTP-based runtime variable inspection using external LLDB
 Tests๐Ÿงช Unit, integration, and performance tests
 Crypto Module๐Ÿ” Core cryptographic operations for ascii-chat
 Debug
 Debug_named
 Debug_sync
 Media
 Acds
 Acds_client
 Acip
 Stun
 Turn
 Query