* protocols: Add more control over gathering additional information
Adds GatherToggle which allows choosing the behaviour for how the query
handles fetching additional information. The choices are:
- DontGather - Don't attempt to fetch information
- AttemptGather - Try to fetch the information but ignore errors
- Required - Try to fetch information and fail if it errors
A handy macro was also added to utils to dispatch additional queries
based on a GatherToggle value.
* Add/Update badge
* protocols: Improve GatherToggle enum names
Co-Authored-By: Cain <75994858+cainthebest@users.noreply.github.com>
Co-Authored-By: CosminPerRam <cosmin.p@live.com>
* Add/Update badge
---------
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Cain <75994858+cainthebest@users.noreply.github.com>
Co-authored-by: CosminPerRam <cosmin.p@live.com>
* crate: Set default binary to gamedig-cli
* crate: Fix bad no-default-features option on gamedig-id dependency
* ci: Run tests when Cargo.toml changes
* id-tests: Clippy fixes
* buffer: Add UTF8LengthPrefixed string decoder
* games: Use expression for default port
This allows us to refer to constants for the default ports if we want to
(literals will still work).
* games: Add support for mindustry
* fix: ID tests not in correct directory
* refactor: Move game-id test logic into its own crate
* id-tests: Add CLI that reads JSON input
* id-tests: Update crate docs
* Remove node ID test
* id-tests: Don't try to parse unneeded info
* id-tests: Enable cli feature by default