Difference between revisions of "Category:LSL LinksetData"

From Second Life Wiki
Jump to navigation Jump to search
m (→‎Functions: Very minor corrections to increase readability.)
Line 17: Line 17:
|p1_type=string|p1_name=name|p1_desc=key name for data to be stored.
|p1_type=string|p1_name=name|p1_desc=key name for data to be stored.
|p2_type=string|p2_name=value|p2_desc=String data to be associated with this key.
|p2_type=string|p2_name=value|p2_desc=String data to be associated with this key.
|return_type=integer|return_text=Indicates success or failure. 0 is success, A positive number indicates failure.
|return_type=integer|return_text=indicating success or failure. {{mono|0}} is success, a positive number indicates failure.
|func_footer
|func_footer
|caveats=If value is an empty string, the key is deleted from the linkset data.
|caveats=If value is an empty string, the key is deleted from the linkset data.
Line 26: Line 26:
|func_desc=Reads the value associated with a key from the linkset's key-value datastore.
|func_desc=Reads the value associated with a key from the linkset's key-value datastore.
|p1_type=string|p1_name=name|p1_desc=key name for data to be read.
|p1_type=string|p1_name=name|p1_desc=key name for data to be read.
|return_type=string|return_text=The string associated with the key. If the key does not exist an empty string is returned.
|return_type=string|return_text=associated with the key. If the key does not exist, an empty string is returned.
|func_footer
|func_footer
|caveats=none
|caveats=none
Line 34: Line 34:
|func=[[llLinksetDataDelete]]
|func=[[llLinksetDataDelete]]
|func_desc=Removes a key value pair from the linkset's datastore.
|func_desc=Removes a key value pair from the linkset's datastore.
|p1_type=string|p1_name=name|p1_desc=key name for data to be read.
|p1_type=string|p1_name=name|p1_desc=which is the key name for data to be read.
|return_type=|
|return_type=|
|func_footer
|func_footer
Line 50: Line 50:
|func_sleep=0.0|func_energy=10.0
|func_sleep=0.0|func_energy=10.0
|func=[[llLinksetDataAvailable]]
|func=[[llLinksetDataAvailable]]
|func_desc=Returns the number of bytes available in the linkset's datastore
|func_desc=The number of bytes available in the linkset's datastore
|return_type=integer|return_text=The number of bytes free in the datastore.
|return_type=integer|return_text=with the number of bytes free in the datastore.
|func_footer
|func_footer
|caveats=none
|caveats=none
Line 59: Line 59:
|func=[[llLinksetDataCountKeys]]
|func=[[llLinksetDataCountKeys]]
|func_desc=Returns the number of keys used in the datastore.
|func_desc=Returns the number of keys used in the datastore.
|return_type=integer|return_text=Total number of keys in use.
|return_type=integer|return_text=with the total number of keys in use.
|func_footer
|func_footer
|caveats=none
|caveats=none
Line 69: Line 69:
|p1_type=integer|p1_name=first|p1_desc=The (zero based) index of the first key to return.  
|p1_type=integer|p1_name=first|p1_desc=The (zero based) index of the first key to return.  
|p2_type=integer|p2_name=count|p2_desc=The maximum number of key names to return in the list.
|p2_type=integer|p2_name=count|p2_desc=The maximum number of key names to return in the list.
|return_type=list|return_text=A list of keys stored in the linkset data.
|return_type=list|return_text=of keys stored in the linkset data.
|func_footer
|func_footer
|caveats=none
|caveats=none
Line 77: Line 77:
|func=[[llLinksetDataFindKeys]]
|func=[[llLinksetDataFindKeys]]
|func_desc=Return a list of keys the linkset data which match the expression passed to the function.
|func_desc=Return a list of keys the linkset data which match the expression passed to the function.
|p1_type=string|p1_name=regex|p1_desc=A regex expression to search for.
|p1_type=string|p1_name=regex|p1_desc=A [https://en.wikipedia.org/wiki/Regular_expression regex expression] to search for.
|p2_type=integer|p2_name=first|p2_desc=The (zero based) index of the first key to return.  
|p2_type=integer|p2_name=first|p2_desc=The (zero based) index of the first key to return.  
|p3_type=integer|p3_name=count|p3_desc=The maximum number of key names to return in the list.
|p3_type=integer|p3_name=count|p3_desc=The maximum number of key names to return in the list.
|return_type=list|return_text=A list of keys matching regex stored in the linkset data.
|return_type=list|return_text=of keys matching regex stored in the linkset data.
|func_footer
|func_footer
|caveats=none
|caveats=none
}}
}}
= Events =
= Events =
{{LSL Function/Head
{{LSL Function/Head

Revision as of 03:38, 20 October 2022

Introduction

Linksets may store up to 64k of data as key/value pairs available to LSL scripts. This data is attached to the root prim in the linkset and survives transfer, script reset and object copying, it does not count against the memory usage of any script. Once set, the only way to erase it is via either the llLinksetDataReset or the llLinksetDataDelete functions. Whenever a script successfully modifies the linkset data using the llLinksetDataReset, llLinksetDataWrite or llLinksetDataCreate functions a linkset_data event is fired in all scripts in the linkset describing the action taken and key name that was affected.

Linkset data is not visible outside of a linkset; a script may only access the linkset data for the linkset that it is running in. Linkset data is not applicable to avatars.

When merging two linksets, both with linkset data, the new root's data is preserved and the simulator makes an effort to move as many of the key value pairs from the old root to the new. If there is insufficient space for all data the simulator will discard some data from the old root. The data selected for preservation may be arbitrary.


Functions

llLinksetDataWrite

Function: integer llLinksetDataWrite( string name, string value );

Creates or updates a key/value pair in the linksets datastore.
Returns an integer indicating success or failure. 0 is success, a positive number indicates failure.

• string name key name for data to be stored.
• string value String data to be associated with this key.
Caveats

If value is an empty string, the key is deleted from the linkset data.

All Issues ~ Search JIRA for related Bugs

llLinksetDataRead

Function: string llLinksetDataRead( string name );

Reads the value associated with a key from the linkset's key-value datastore.
Returns a string associated with the key. If the key does not exist, an empty string is returned.

• string name key name for data to be stored.key name for data to be read.

llLinksetDataDelete

Function: llLinksetDataDelete( string name );

Removes a key value pair from the linkset's datastore.

• string name key name for data to be stored.key name for data to be read.which is the key name for data to be read.

llLinksetDataReset

Function: llLinksetDataReset( );

Erases all existing keys value pairs in the linkset's datastore.

llLinksetDataAvailable

Function: integer llLinksetDataAvailable( );

The number of bytes available in the linkset's datastore
Returns an integer with the number of bytes free in the datastore.

llLinksetDataCountKeys

Function: integer llLinksetDataCountKeys( );

Returns the number of keys used in the datastore.
Returns an integer with the total number of keys in use.

llLinksetDataListKeys

Function: list llLinksetDataListKeys( integer first, integer count );

Return a list of keys currently in use in the linkset data.
Returns a list of keys stored in the linkset data.

• integer first The (zero based) index of the first key to return.
• integer count The maximum number of key names to return in the list.

llLinksetDataFindKeys

Function: list llLinksetDataFindKeys( string regex, integer first, integer count );

Return a list of keys the linkset data which match the expression passed to the function.
Returns a list of keys matching regex stored in the linkset data.

• string regex A regex expression to search for.
• integer first The (zero based) index of the first key to return.The (zero based) index of the first key to return.
• integer count The maximum number of key names to return in the list.The maximum number of key names to return in the list.

Events

linkset_data

Function: linkset_data( integer action, string name, string value );
• integer action The action taken on the linkset datastore. reset, update or delete.
• string name key name for data to be stored.key name for data to be read.which is the key name for data to be read.The name of key changed. Empty string for reset.
• string value String data to be associated with this key.The value associated with the key. Empty string for reset or delete.
All Issues ~ Search JIRA for related Bugs