
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.
60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
#include "..\script_component.hpp"
|
|
|
|
/*
|
|
@file Title: ArmaDragonflyClient Framework by Creedcoder, J.Schmidt
|
|
@file Version: 0.1
|
|
@file Name: fnc_fetch.sqf
|
|
@file Author: Creedcoder, J.Schmidt
|
|
@file edit: 03.25.2024
|
|
Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved
|
|
|
|
Do not edit without permission!
|
|
|
|
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlikes 4.0 International License.
|
|
To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons,
|
|
444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
|
|
|
|
Fetch from DB:
|
|
dragonfly_db_fetch_array
|
|
|
|
["uniqueID", "function", "index", "indextotal", "datachunk", "call", "netId"]
|
|
*/
|
|
|
|
#ifdef __A3__DEBUG__
|
|
diag_log text format ["ArmaDragonflyClient: 'dragonfly_db_fnc_fetch' Input: %1", _this];
|
|
#endif
|
|
|
|
params ["_uniqueID", "_function", "_index", "_total", "_datachunk", "_call", "_netId"];
|
|
|
|
private _dataString = "";
|
|
private _index_array = [];
|
|
private _count_total = 0;
|
|
|
|
dragonfly_db_fetch_array pushBackUnique [_uniqueID, _function, _index, _total, _datachunk, _call, _netId];
|
|
|
|
_count_total = {
|
|
if (_uniqueID == _x select 0) then {
|
|
_index_array pushBackUnique [_x select 2, _x select 4];
|
|
true
|
|
} else {
|
|
false
|
|
}
|
|
} count dragonfly_db_fetch_array;
|
|
|
|
if (_count_total == _total) then {
|
|
_index_array sort true;
|
|
|
|
{
|
|
_dataString = _dataString + (_x select 1);
|
|
} forEach _index_array;
|
|
|
|
#ifdef __ARMA__DEBUG__
|
|
diag_log text format ["ArmaDragonflyClient: 'dragonfly_db_fnc_fetch' Data String: %1", _dataString];
|
|
#endif
|
|
|
|
private _callValue = (_call == "true");
|
|
|
|
[_uniqueID, _function, _callValue, (parseSimpleArray _dataString), _netId] call FUNC(handler);
|
|
|
|
dragonfly_db_fetch_array = dragonfly_db_fetch_array select {!((_x select 0) in [_uniqueID])};
|
|
}; |