
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.
52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
#include "..\script_component.hpp"
|
|
|
|
/*
|
|
* Function: dragonfly_db_fnc_publish
|
|
* Author: Creedcoder, J. Schmidt
|
|
* Edit: 07.15.2024
|
|
* Copyright © 2024 Creedcoder, J. Schmidt, All rights reserved
|
|
*
|
|
* Do not edit without permission!
|
|
*
|
|
* This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
|
|
* To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons,
|
|
* PO Box 1866, Mountain View, CA 94042
|
|
*
|
|
* [Description]
|
|
* Publish a message to a DragonflyDB channel.
|
|
* The message will be routed through the CBA event system based on the subscription event type.
|
|
*
|
|
* Arguments:
|
|
* 0: STRING - Channel name to publish to (default: "")
|
|
* 1: ARRAY|STRING|NUMBER|BOOL - Data to publish (default: [])
|
|
*
|
|
* Return Value:
|
|
* BOOLEAN - True if successful, false otherwise
|
|
*
|
|
* Examples:
|
|
* ["global_chat", "Hello world!"] call dragonfly_db_fnc_publish
|
|
* ["mission_updates", ["task_01", "SUCCEEDED", [2, 3, 4]]] call dragonfly_db_fnc_publish
|
|
*
|
|
* Public: Yes
|
|
*/
|
|
|
|
params [
|
|
["_channel", "", [""]],
|
|
["_message", [], [[], "", 0, true]]
|
|
];
|
|
|
|
if (_channel isEqualTo "") exitWith {
|
|
diag_log text format ["ArmaDragonflyClient: 'dragonfly_db_fnc_publish' Invalid Input for Channel '%1'", _channel];
|
|
false
|
|
};
|
|
|
|
private _args = [_channel, _message];
|
|
private _formattedArgs = _args apply { if (_x isEqualType "") then { str _x } else { _x } };
|
|
private _extensionArgs = _formattedArgs joinString ",";
|
|
private _result = "ArmaDragonflyClient" callExtension ["publish", [_extensionArgs]];
|
|
|
|
#ifdef __ARMA_DEBUG__
|
|
diag_log text format ["ArmaDragonflyClient: 'dragonfly_db_fnc_publish' Published message to channel '%1': '%2'", _channel, _message];
|
|
#endif
|
|
|
|
true |