LlDataSizeKeyValue: Difference between revisions

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

  • 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; 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

Signature

function key llDataSizeKeyValue();