Difference between revisions of "LlDataSizeKeyValue"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
Sidius Core (talk | contribs) |
m |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Experience Tools]] | [[Category:Experience Tools]] | ||
{{LSL_Function | {{LSL_Function | ||
|inject-2={{LSL Function/KeyValue|d2_type=integer|d2_name=used|d2_desc=Number of bytes used|d3_type=integer|d3_name=quota|d3_desc=Number of bytes the key-store can utilize}} | |inject-2= | ||
{{LSL Function/KeyValue|d2_type=integer|d2_name=used|d2_desc=Number of bytes used|d3_type=integer|d3_name=quota|d3_desc=Number of bytes the key-store can utilize}} | |||
{{LSL Function/Experience|true}} | |||
|func=llDataSizeKeyValue | |func=llDataSizeKeyValue | ||
|func_desc=Start an asynchronous transaction to request the used and total amount of data allocated for the | |func_desc=Start an asynchronous transaction to request the used and total amount of data allocated for the {{LSLGC|Experience}}. | ||
|func_footnote= | |func_footnote= | ||
|return_type=key|return_subtype=handle | |return_type=key|return_subtype=handle | ||
Line 16: | Line 18: | ||
*[[llKeyCountKeyValue]] | *[[llKeyCountKeyValue]] | ||
*[[llKeysKeyValue]] | *[[llKeysKeyValue]] | ||
|examples=< | |examples=<source lang="lsl2">key trans; | ||
key trans; | |||
default | default | ||
Line 46: | Line 47: | ||
} | } | ||
} | } | ||
</ | </source> | ||
|cat1=Experience | |cat1=Experience | ||
|cat2=Experience/Data | |cat2=Experience/Data | ||
|cat3=Dataserver | |cat3=Dataserver | ||
}} | }} |
Latest revision as of 12:11, 5 May 2015
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
- If you recompile a script that was previously associated with an Experience but do so with a client that lacks the ability to compile scripts into an experience the script will lose the associated Experience.
Examples
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 ) );
}
}
}
}
Notes
Compiling
For a script to be associated with an Experience...
- It must be compiled with a client that is Experience aware,
- The "Use Experience" checkbox must be checked,
- And one of the users Experience keys selected.
Important: Not all TPVs have this functionality. |