How dawn-winery/dwhbll works
dwhbll is a grab-bag C++ library, not one end-user application, so it has no single user-to-result workflow. Its modules provide independent capabilities: applications can parse CLI arguments, use networking and async primitives, process data formats, or call system utilities. The graph highlights those product areas and shared utility layers. The README documents additional capabilities whose internal wiring is not established by the sampled source; uncertain links are omitted.
Main entry points: socket_manager.cpp Socket manager · dns.cpp DNS · process.cpp Subprocess control · runner.cpp Test runner
Components 21
Networking and async
- Coroutine runtime
include/dwhbll/concurrency/coroutine/reactor.h - Socket manager
src/dwhbll/network/socket_manager.cpp - DNS
src/dwhbll/network/dns/dns.cpp - HTTP and server
include/dwhbll/network/http_server.h
Formats and languages
- JSON parser
src/dwhbll/json/json.cpp - Language tools
include/dwhbll/lang - Unicode utilities
include/dwhbll/unicode/helpers.h - Binary and PE files
include/dwhbll/files/executables/pe.h
System utilities
- CLI parsing
src/dwhbll/cli/parser.cpp - Subprocess control
src/dwhbll/subprocess/process.cpp - File handling
include/dwhbll/files/binary_file.h - Cryptography
include/dwhbll/cryptography/ihash.h
Developer support
- Test framework
include/dwhbll/testing/testing.h - Test harnesses
include/dwhbll/testing/harness.h - Test runner
src/dwhbll/testing/runner.cpp - Logging and debug
include/dwhbll/console/logging.h
Shared foundations
- STL extensions
include/dwhbll/stl_ext - Collections and buffers
include/dwhbll/collections - Concurrency primitives
include/dwhbll/concurrency - Memory pool
include/dwhbll/memory/pool.h
Other components
- C++ application
Connections 7
- C++ application → CLI parsing: parses arguments
- C++ application → JSON parser: parses or formats
- C++ application → Coroutine runtime: uses coroutines
- DNS → Socket manager: receives packets
- Test runner → Test harnesses: runs suites
- Subprocess control → Logging and debug: logs cleanup
- Socket manager → Memory pool: pools sockets