Difference between revisions of "LlKeyCountKeyValue"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 21: Line 21:
     state_entry()
     state_entry()
     {
     {
         trans = llKeyCountKeyValue("FOO");
         trans = llKeyCountKeyValue();
     }
     }
}


dataserver(key t, string value)
 
{
    dataserver(key t, string value)
    if (t == trans)
     {
     {
        // our llKeyCountKeyValue transaction is done
         if (t == trans)
        list result = llCSV2List(value);
         if (llList2Integer(result, 0) == 1)
        {
            // data size retrieved
            llSay(0, "Keys in use: "+llList2String(result, 1)");
        }
        else
         {
         {
             // key count failed
             // our llKeyCountKeyValue transaction is done
            llSay(0, "Key-value failed to count keys: " + llList2String(result, 1) );
            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) );
            }
         }
         }
     }  
     }  

Revision as of 17:20, 6 November 2014

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:

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

Examples

<lsl>key trans; default {

   state_entry()
   {
       trans = llKeyCountKeyValue();
   }


   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>

Deep Notes

Search JIRA for related Issues

Signature

function key llKeyCountKeyValue();