[Opensim-dev] Inventory and assets

Tleiades tleiades at hotmail.com
Mon Oct 8 21:16:04 UTC 2007


Hi

As some of you might know, I have been working on a grid wide inventory 
system. Actually I have a more or less complete implementation on my own 
computers, but for various reasons, I have decided to release the code in 
small incremental chunks.

Today I had a small setback. It turns out - or I had forgotten - that the 
asset server isn't operational, all assets are stored locally on the running 
sim. One way of thinking of the inventory, is to consider it a means for the 
user to point to assets, i.e. an item in the inventory points to an asset in 
the asset server. Consequently a grid wide inventory doesn't make much sense 
until we have grid wide assets.

Consequently I am thinking about putting the inventory aside, and start 
working on a grid wide asset server. Once we have that in place, I intend to 
go back to the inventory.

I think that assets will be a big task, and quite complex, when considering 
the ultimate goal for this project, so I aim for a first implementation, 
wich will be functional, then we can pickup and refine that implementation 
in a later iteration.

My thinking goes along the following lines:

1) Create a functional asset server Using the REST methods sketched out in 
the asset server code
2) Implement an asset cache on the sim, based on a reference counting 
principle, the logic begin something like this:
    On Rez
        if(asset is in cache)
            increment reference count
        else
            get asset from asset server
            store asset in sim cache
            set reference count to 1
        end if

    On Derez
        Decrement reference count
        if(reference count=0)
            remove asset from cache

    When avatar enters sim
        Rez all attachments

    When avatar leaves sim
        Derez all attachments

The only real big question now remains, what is an asset?


More information about the Opensim-dev mailing list