Difference between revisions of "LlDataSizeKeyValue"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 17: Line 17:
*[[llKeysKeyValue]]
*[[llKeysKeyValue]]
|examples=<lsl>key trans;
|examples=<lsl>key trans;
key trans;
default
default
{
{
     state_entry()
     state_entry()
     {
     {
         trans = llDataSizeKeyValue("FOO");
         trans = llDataSizeKeyValue();
     }
     }
}
 
    dataserver( key _t, string _value )
dataserver(key t, string value)
{
    if (t == trans)
     {
     {
        // our llDataSizeKeyValue transaction is done
         if ( _t == trans )
        list result = llCSV2List(value);
         if (llList2Integer(result, 0) == 1)
         {
         {
             // data size retrieved
             // our llDataSizeKeyValue transaction is done
            llSay(0, "Space in use: "+llList2String(result, 1)");
            list result = llCSV2List( _value );
            llSay(0, "Total space:  "+llList2String(result, 2)");
            if ( llList2Integer( result, 0 ) == 1 )
        }
            {
        else
                // data size retrieved
        {
                llSay( 0, "Space in use: " + llList2String( result, 1 ) );
            // data size check failed
                llSay( 0, "Total space:  " + llList2String( result, 2 ) );
            llSay(0, "Key-value failed to check size: " + llList2String(result, 1) );
            }
            else
            {
                // data size check failed
                llSay( 0, "Key-value failed to check size: " + llList2String( result, 1 ) );
            }
         }
         }
     }  
     }  
}</lsl>
}
</lsl>
|cat1=Experience
|cat1=Experience
|cat2=Experience/Data
|cat2=Experience/Data
|cat3=Dataserver
|cat3=Dataserver
}}
}}

Revision as of 23:13, 10 August 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; key trans;

default {

   state_entry()
   {
       trans = llDataSizeKeyValue();
   }

   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

Search JIRA for related Issues

Signature

function key llDataSizeKeyValue();