ramdb/docs/core/handler.md
Jacob Schmidt 136cc50336 docs: Correct internal links in core documentation
This commit corrects internal links within the core documentation files. The links were updated to point to the correct markdown files.

Key changes:

*   Updated links in `docs/core/processQueue.md`, `docs/core/addTask.md`, `docs/core/test.md`, `docs/core/scheduler.md`, `docs/core/handler.md`, `docs/core/printAddonName.md`, and `docs/core/init.md`.
2025-03-22 19:58:34 -05:00

2.8 KiB

title, icon, excerpt
title icon excerpt
ArmaRAMDb - Handler mdi:file-text-outline Handle data from DB.

ramdb_db_fnc_handler

Description

Handles data received from the database and routes it to the appropriate function. This function is a critical component of the callback system, receiving data from database operations and directing it to the specified function, either locally or to a remote client.

Syntax

[_uniqueID, _function, _call, _data, _netId] call ramdb_db_fnc_handler

Parameters

Parameter Type Description Default
_uniqueID String Unique identifier for the data chunk ""
_function String Name of function to receive the data ""
_call Boolean Whether to call the function directly (true) or spawn (false) false
_data Array, String, Number, or Boolean The data retrieved from the database []
_netId String (Optional) NetID of the player to receive the data nil

Return Value

None. The data is passed to the specified function for processing.

Examples

Process data locally:

["0123456789", "ramdb_db_fnc_test", false, ["Hello World!"]] call ramdb_db_fnc_handler;

Send data to a specific client:

["0123456789", "ramdb_db_fnc_test", false, ["Hello World!"], netId player] remoteExecCall ["ramdb_db_fnc_handler", 2, false];

Process data with direct call (synchronous):

["0123456789", "ramdb_db_fnc_processInventory", true, [["weapon1", 30], ["item2", 5]]] call ramdb_db_fnc_handler;

Notes

  • The function validates that both the function name and data are valid before proceeding
  • When a netId is provided, the data is sent to that specific client using remoteExec
  • The _call parameter determines whether the function is called directly (synchronous) or spawned (asynchronous)
  • This function is typically called by the scheduler or other core components rather than directly by user code
  • Each handler call is logged, which is useful for debugging data flow
  • ramdb_db_fnc_scheduler: Processes callbacks from the database extension
  • ramdb_db_fnc_fetch: Assembles data chunks for large datasets
  • ramdb_db_fnc_addTask: Adds tasks to the database operation queue

Add Task | Handler | Init | Print Addon Name | Process Queue | Scheduler | Test