Thanks for helping improve WinUDPShardedEcho — a small C++ echo server / client demo used to illustrate scalable I/O patterns and build/test workflows on Windows (MSVC + CMake).
Please read the guidelines below before opening issues or pull requests.
- Fork the repository on GitHub and clone your fork locally:
git clone https://github.com/<your-username>/WinUDPShardedEcho.git
cd WinUDPShardedEcho- Create a feature branch:
git checkout -b feature/my-change- Build (recommended):
mkdir build
cd build
cmake -S .. -B . -A x64
cmake --build . --config ReleaseOr open build/WinUDPShardedEcho.sln in Visual Studio and build from the IDE.
- Fixes and small improvements: tests, build fixes, documentation, small refactors
- New features: limited in scope to the demo (e.g., improved logging, more test coverage)
- Do not add large third-party libraries; prefer lightweight dependencies and document them in the README.
- Language: C++17/C++20 depending on the target (project is configured for MSVC; keep compatibility in mind).
- Follow existing style in the codebase. If you change formatting, include
.clang-formatadjustments in a separate commit. - Keep changes small and focused; one logical change per PR.
- Tests are located under
src/alongside client/server components (if present). Usectestfrom thebuilddirectory to run tests after building. - Add tests for bug fixes and new features where practical.
Use clear, short commit messages. Examples:
feat: add graceful shutdown to server
fix: correct socket cleanup on client disconnect
docs: update CONTRIBUTING.md for this repo- Branch off
main(this repo's development branch) - Include a clear description and motivation
- Add or update tests for behavior changes
- Ensure the project builds on Windows with MSVC (x64)
- Run formatting checks (
clang-format) and static checks if available
- This repository uses CMake and has a
build/solution generated; CI may be configured by the project maintainer. If you add GitHub Actions workflows, keep them minimal and Windows-focused unless you add cross-platform support.
- Open an issue for bugs or feature requests. Include steps to reproduce, expected vs actual behavior, and relevant logs or stack traces.
Please be respectful and constructive. We follow the Contributor Covenant: https://www.contributor-covenant.org/.
Happy hacking! 🚀