10 Commits

Author SHA1 Message Date
Jacob Schmidt
dc72f88327 feat(db): Force save on mission end
All checks were successful
Build / Build (push) Successful in 29s
This commit introduces a mission event handler that forces a database save with backup when the mission ends.

Key changes:

*   **`XEH_preInit_server.sqf`:** Added an "Ended" mission event handler that calls the `ArmaDragonflyClient` extension with the "savedb" command and logs an info message. This ensures that the database is saved when the mission ends, providing a backup in case of unexpected server shutdowns.
2025-05-03 19:34:43 -05:00
Jacob Schmidt
665561e29e feat(db): Implement hash deletion functions
All checks were successful
Build / Build (push) Successful in 1m21s
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.
2025-04-05 09:06:46 -05:00
Jacob Schmidt
8c64bfe4a9 feat(db): Enhance debugging and fix NetId handling
All checks were successful
Build / Build (push) Successful in 30s
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.
2025-03-28 09:45:16 -05:00
Jacob Schmidt
ce904a7978 feat(db): Add debug logging to all DragonflyDB functions
All checks were successful
Build / Build (push) Successful in 30s
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.
2025-03-23 23:20:03 -05:00
Jacob Schmidt
b23679a8c3 feat(debug): Enhance logging for task management and data handling
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.
2025-03-23 22:32:18 -05:00
Jacob Schmidt
fa745dde8d fix(db): Update include paths in pub/sub functions
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.
2025-03-20 19:58:30 -05:00
Jacob Schmidt
38639b50c7 feat(db): Add pub/sub interface functions for DragonflyDB
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.
2025-03-20 19:54:58 -05:00
Jacob Schmidt
ff83729fad Update 02072025@2245 2025-02-07 22:45:24 -06:00
Jacob Schmidt
95fdf45cde Update ArmaDragonflyClient Extension: Implement pub/sub messaging system with event routing, chunking support, and consistent message handling 2025-02-07 22:34:56 -06:00
Jacob Schmidt
bf951fd1f6 Initial Repo Setup
Some checks failed
Build / Build (push) Failing after 39s
2025-01-01 09:33:04 -06:00