generated from administrator/template_project
52 lines
1.1 KiB
Markdown
52 lines
1.1 KiB
Markdown
# test_server
|
|
|
|
A C++ HTTP server using the PIP library.
|
|
|
|
## Build & Run
|
|
|
|
```bash
|
|
mkdir build && cd build
|
|
cmake ..
|
|
make
|
|
./test_server
|
|
```
|
|
|
|
## Key Facts
|
|
|
|
- **C++ Standard**: C++11 (enforced)
|
|
- **Build System**: CMake (generates `compile_commands.json` automatically)
|
|
- **Build Directory**: `/build` (ignored in git)
|
|
- **Entrypoint**: `src/main.cpp`
|
|
|
|
## Dependencies
|
|
|
|
The project uses a custom **PIP C++ library** (not Python pip). Required components:
|
|
- `PIP::Console` - Console output (`piCout`)
|
|
- `PIP::HTTPServer` - HTTP server functionality
|
|
- `PIP::IOUtils` - I/O utilities
|
|
- `PIP::ClientServer` - Client/server infrastructure
|
|
|
|
## Code Style
|
|
|
|
- **Formatter**: clang-format (config in `.clang-format`)
|
|
- **Indent**: Tabs, width 4
|
|
- **Column Limit**: 140 characters
|
|
- **Encoding**: UTF-8
|
|
|
|
Run formatter:
|
|
```bash
|
|
clang-format -i src/*.cpp src/*.h
|
|
```
|
|
|
|
## Architecture
|
|
|
|
The server creates a `PIKbdListener` that:
|
|
- Captures F10 key press for graceful exit
|
|
- Starts an HTTP server (address printed on startup)
|
|
- Waits for exit signal via `WAIT_FOR_EXIT` macro
|
|
|
|
## Notes
|
|
|
|
- Qt Creator is the primary IDE (`.qtcreator/` config present)
|
|
- No tests or CI configured
|