generated from administrator/template_project
before start
This commit is contained in:
+13
-4
@@ -1,5 +1,14 @@
|
|||||||
/.svn
|
*.user
|
||||||
CMakeLists.txt.user*
|
/build*
|
||||||
|
/bin
|
||||||
/release
|
/release
|
||||||
/build
|
*.orig
|
||||||
/*_build_*
|
/.*
|
||||||
|
*__pycache__*
|
||||||
|
*test-results.xml
|
||||||
|
|
||||||
|
# Secrets
|
||||||
|
.jenkins_token
|
||||||
|
|
||||||
|
# Temporary deployment files
|
||||||
|
meshcontroller.tar.gz
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
# 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
|
||||||
+1
-1
@@ -8,5 +8,5 @@ int main(int argc, char * argv[]) {
|
|||||||
ls.start();
|
ls.start();
|
||||||
piCout << "started on" << httpaddr;
|
piCout << "started on" << httpaddr;
|
||||||
WAIT_FOR_EXIT
|
WAIT_FOR_EXIT
|
||||||
ls.stopAndWait();
|
ls.stopAndWait();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user