Difference between revisions of "LlDataSizeKeyValue"

From Second Life Wiki
Jump to navigation Jump to search
m
m
Line 5: Line 5:
|func_desc=Start an asynchronous transaction to request the used and total amount of data allocated for the experience.
|func_desc=Start an asynchronous transaction to request the used and total amount of data allocated for the experience.
|func_footnote=
|func_footnote=
The [[dataserver]] callback parameters are:
* A key containing the {{LSLGC|Key/handle|handle}} returned from llDataSizeKeyValue
* A string containing a comma-delimited list.  The first item is a boolean specifying if the transaction succeeded (1) or not (0).  The second item is the amount in use, and the third value is the total.  All sizes are in bytes.
|return_type=key|return_subtype=handle
|return_type=key|return_subtype=handle
|return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed and the results.
|return_text=that can be used to identify the corresponding [[dataserver]] event to determine if this command succeeded or failed and the results.

Revision as of 16:16, 9 July 2014

Summary

Function: key llDataSizeKeyValue( );

Start an asynchronous transaction to request the used and total amount of data allocated for the experience.
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 used Number of bytes used
• integer quota Number of bytes the key-store can utilize

Examples

<lsl>key trans; default {

   state_entry()
   {
       trans = llDataSizeKeyValue("FOO");
   }

}

dataserver(key t, string value) {

   if (t == trans)
   {
       // our llDataSizeKeyValue transaction is done
       list result = llCSV2List(value);
       if (llList2Integer(result, 0) == 1)
       {
           // data size retrieved
           llSay(0, "Space in use: "+llList2String(result, 1)");
           llSay(0, "Total space:  "+llList2String(result, 2)");
       }
       else
       {
           // data size check failed
           llSay(0, "Key-value failed to check size: " + llList2String(result, 1) );
       }
   } 
}</lsl>

Deep Notes

Signature

function key llDataSizeKeyValue();