# Hash Operations



## Important Payload Limit
Keep payloads under 20,480 bytes. This is the maximum size the engine can send or receive at one time. If you expect a response larger than 20,480 bytes, provide a callback function so the mod can use its internal fetch/chunking flow and deliver the reconstructed data to your callback.

This section contains documentation for the hash operations of ArmaDragonflyClient that allow for working with hash tables (key-value pairs within a namespace).

## Available Functions

- [hashGet](hashGet.md) - Get a field from a hash
- [hashGetAll](hashGetAll.md) - Get all fields from a hash
- [hashGetAllId](hashGetAllId.md) - Get all fields from a hash for a specific ID
- [hashGetId](hashGetId.md) - Get a field from a hash for a specific ID
- [hashSet](hashSet.md) - Set a field in a hash
- [hashSetBulk](hashSetBulk.md) - Set multiple fields in a hash in one operation
- [hashSetId](hashSetId.md) - Set a field in a hash for a specific ID
- [hashSetIdBulk](hashSetIdBulk.md) - Set multiple fields in a hash for a specific ID in one operation

## Example Usage

```sqf
// Context mode examples
["myField", [myValue]] call dragonfly_db_fnc_hashSet;
["myField", "myFunction"] call dragonfly_db_fnc_hashGet;
["myFunction"] call dragonfly_db_fnc_hashGetAll;

// Set multiple hash fields in one operation
[[
    "loadout", [getUnitLoadout player],
    "position", [getPosASL player],
    "direction", [getDir player]
]] call dragonfly_db_fnc_hashSetBulk;

// ID-specific examples
["myHash", "myField", [myValue]] call dragonfly_db_fnc_hashSetId;
["myHash", "myField", "myFunction"] call dragonfly_db_fnc_hashGetId;
["myHash"] call dragonfly_db_fnc_hashGetAllId;
```

## Related Categories

- [Core Functions](../core/README.md)
- [Basic Data Operations](../basic/README.md)
- [List Operations](../list/README.md)