Difference between revisions of "LlDataSizeKeyValue"
Jump to navigation
Jump to search
m |
Sidius Core (talk | contribs) |
||
Line 17: | Line 17: | ||
*[[llKeysKeyValue]] | *[[llKeysKeyValue]] | ||
|examples=<lsl>key trans; | |examples=<lsl>key trans; | ||
key trans; | |||
default | default | ||
{ | { | ||
state_entry() | state_entry() | ||
{ | { | ||
trans = llDataSizeKeyValue( | trans = llDataSizeKeyValue(); | ||
} | } | ||
dataserver( key _t, string _value ) | |||
dataserver(key | |||
{ | { | ||
if ( _t == trans ) | |||
if ( | |||
{ | { | ||
// data size retrieved | // 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> | } | ||
</lsl> | |||
|cat1=Experience | |cat1=Experience | ||
|cat2=Experience/Data | |cat2=Experience/Data | ||
|cat3=Dataserver | |cat3=Dataserver | ||
}} | }} |
Revision as of 23:13, 10 August 2014
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
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:
- A key containing the handle returned from llDataSizeKeyValue
- A string containing a comma-delimited list (cdl).
llDumpList2String([ integer success ] + components);
- components vary depending upon success or failure of request.
- Failure:
cdl = llDumpList2String([ 0, integer error],",")
- Success:
cdl = llDumpList2String([ 1, integer used, integer quota ],",")
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 |
Caveats
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>