llKeyCountKeyValue
Revision as of 11:48, 12 July 2014 by Strife Onizuka (talk | contribs)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: key llKeyCountKeyValue( );
Start an asynchronous transaction to request the number of keys in the system.
Returns a handle (a key) that can be used to identify the corresponding dataserver event to determine if this command succeeded or failed and the results.
Specification
Dataserver
The dataserver callback parameters are:
- A key containing the handle returned from llKeyCountKeyValue
- A string containing a comma-delimited list (cdl).
llDumpList2String([ integer success ] + components);
- components vary depending upon success or failure of request.
- Failure:
cdl = llDumpList2String([ 0, integer error],",")
- Success:
cdl = llDumpList2String([ 1, integer pairs ],",")
String Components
• integer | success | – | A boolean specifying if the transaction succeeded (1) or not (0). | |
• integer | error | – | An XP_ERROR_* flag that describes why the operation failed. | |
• integer | pairs | – | number of keys-value pairs in the key-value store |
Caveats
Examples
<lsl>key trans; default {
state_entry() { trans = llKeyCountKeyValue("FOO"); }
}
dataserver(key t, string value) {
if (t == trans) { // our llKeyCountKeyValue transaction is done list result = llCSV2List(value); if (llList2Integer(result, 0) == 1) { // data size retrieved llSay(0, "Keys in use: "+llList2String(result, 1)"); } else { // key count failed llSay(0, "Key-value failed to count keys: " + llList2String(result, 1) ); } }}</lsl>