LlDataSizeKeyValue: Difference between revisions

From Second Life Wiki
Jump to navigation Jump to search
Strife Onizuka (talk | contribs)
mNo edit summary
Strife Onizuka (talk | contribs)
mNo edit summary
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 17: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

  • Maximum memory storage: 128 MiB

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();