This commit introduces functionality to delete hash values from the Dragonfly database. It includes two new functions: `hashDelete` for deleting a hash value by key, and `hashDeleteId` for deleting a hash value by both key and ID.
Key changes:
* **`fnc_processQueue.sqf`:** Added cases for "hdel" and "hdelid" task types to process hash deletion requests, calling the corresponding `FUNC(hashDelete)` and `FUNC(hashDeleteId)` functions.
* **`XEH_PREP.hpp`:** Added `PREP` definitions for `hashDelete` and `hashDeleteId` to enable event handlers for these functions.
This commit significantly enhances the `README.md` file, providing comprehensive documentation for the ArmaDragonflyClient.
Key changes:
* **Detailed Function Categories:** Categorized functions for better organization (Core, Basic Data Operations, Hash Operations, List Operations).
* **Usage Examples:** Added clear and concise usage examples for basic operations, hash operations (context and ID-specific), and list operations.
* **Function Documentation Structure:** Outlined the structure for individual function documentation.
* **License Information:** Updated the license information.
This commit enhances the handling of string values in the `DragonflyHashSetAsync` function. Specifically, it adds `.Trim('"')` to the second argument (the value being set) to remove any surrounding quotes. This ensures that the value is correctly stored and retrieved, preventing potential issues with data integrity.
Key changes:
* **String Value Trimming:** Added `.Trim('"')` to the value argument in `DragonflyHashSetAsync` within `Main.cs`.
* **Binary Updates:** Updated the compiled DLL and SO files.
This commit enhances debugging capabilities and addresses issues related to NetId handling within the DragonflyDB system.
Key changes:
* **Improved Debugging:** Added more detailed logging in `Utils.cs` to track data chunks and strings, improving the ability to diagnose issues.
* **NetId Handling Fix:** Modified `fnc_handler.sqf` to correctly handle NetIds, including a fallback mechanism if the target object is null. This ensures that remote execution attempts don't fail silently.
* **Function Examples:** Updated examples in `fnc_hashSetIdBulk.sqf` and `fnc_hashSetBulk.sqf` to correctly use array syntax for function calls.
* **Simplified fetch.sqf:** Removed unecessary conversion of the _call variable.
* **Binary Updates:** Updated the compiled DLL and SO files.
Enhanced debugging capabilities by adding conditional logging statements to all DragonflyDB functions. These logs include input parameters and return values, providing detailed insights into function execution. The logging is enabled only when the `__A3__DEBUG__` preprocessor directive is defined, ensuring minimal performance impact in production environments. This change improves the ability to diagnose issues and understand the flow of data within the DragonflyDB system.
Added conditional logging for various functions in the DragonflyDB interface to improve debugging capabilities. This includes detailed logs for task processing, fetching, publishing, and subscribing actions, which are now only active in debug mode. Additionally, updated the buffer size and path handling in the main extension code for better performance and compatibility.
Updates the ArmaDragonflyClient binaries for Windows and Linux. This includes changes to the DLL and SO files in the extension and publish directories.
Updates the include paths in `fnc_publish.sqf` and `fnc_subscribe.sqf` to use relative paths. This ensures the correct `script_component.hpp` file is included.
Add two new functions to interface with DragonflyDB pub/sub system:
- fnc_subscribe.sqf: Subscribe to channels with CBA event routing
- fnc_publish.sqf: Publish messages to channels
These functions integrate with the existing pubSubHandler to route
messages through CBA's event system using 'global', 'local', 'server',
and 'remote' event types.
Both functions include proper input validation, error handling, and
detailed documentation with examples.