[sldev] Why hasn't Linden Lab implemented WRITING to NOTECARD?
Kelly
kelly at lindenlab.com
Thu Jun 11 09:16:20 PDT 2009
Tigro Spottystripes wrote:
> kelly at lindenlab.com escreveu:
>
>> MAGIC!
>>
>> I don't know the exact details about how the current version works so
>> *please* don't respond to my answer with the million ways it could be
>> optimized or what it will miss etc. A lot of effort and revisions have
>> gone into this. This is extremely roughly what it does, or did at one
>> point and covers the gist of how GC on assets might work.
>>
>> * Step 1: Scan the contents of every asset, every simstate and every
>> residents inventory for anything that looks vaguely like a UUID and build
>> a list of those UUIDs. This means the text of every script, the contents
>> of every notecard, the inventory of every item.
>> * Step 2: Delete anything not in that list, but created before the scan
>> started.
>> * Step 3: Go to step 1.
>>
>> That is an extremely simplified version of course, and it gets more
>> complicated as you work to make it more robust (find all those ids), safer
>> (don't delete straight away) and faster.
>>
>> - Kelly
>>
>>
>>
> Interesting, much more comprehensive than I expected, but can you
> explain me why the client doesn't got such a thorough capability of
> reading the inventory? (the total item count for my inv varies from
> about 9k to 30k+ depending on my luck, regardless of how many items I
> add or delete) Or does the check randomly misses things in the inventory
> like the client do?
>
I think this has been covered by others but just in case. The GC
process is running behind our firewall and has direct access to the
asset system and the inventory databases. Viewer inventory goes through
the login server (for the base skeleton), the simulator, the dataserver
to the database and back - through the dataserver, the simulator and
finally to your viewer. There are a lot of potential places for bugs.
The code for managing inventory and for viewing inventory are both far
more complicated than a scan of all UUIDs in the table. And thats
before anyone even mentions the word "permissions" which the GC can
happily ignore. For example one bug we have had in the past could cause
items in inventory to become orphaned - to lose their parent folder.
This would cause the object to not appear in inventory but have no
effect on the GC's abillity to find the related UUIDs for the item.
- Kelly
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20090611/1b867849/attachment.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: OpenPGP digital signature
Url : http://lists.secondlife.com/pipermail/sldev/attachments/20090611/1b867849/attachment.pgp
More information about the SLDev
mailing list