[sldev] How Asset server handles saving of scripts

John Hurliman jhurliman at wsu.edu
Thu Dec 20 17:18:08 PST 2007


Donovan Preston wrote:
>
> On Dec 20, 2007, at 1:53 PM, Hamncheese wrote:
>
>> I guess I don't understand "blacklisted at the server" means, unless 
>> you mean that "UpdateScriptTaskInventory" CAPS is turned off on all 
>> sims?
>
> Yep, that's right.
>
>> The code under save if needed does a "get caps from region, if a url 
>> is returned then call uploadAssetViaCaps, if not a valid url call 
>> uploadAssetLegacy" So if CAPS isn't being used until mono is released 
>> why have the check for that CAP in the code for every save?
>
> No reason really, other than we rolled the code out blacklisted and 
> haven't taken the time to QA it and turn it on as a feature separate 
> from mono. If there is sufficient demand it would be easy enough to 
> start a project to turn on the UpdateScriptTaskInventory cap, since 
> the remaining work to be done is QA (currently being done on this 
> feature in the mono branch). But there would have to be a compelling 
> use case.
>
> Donovan

My compelling reason is that the implementation of the Xfer system in 
libsecondlife is the only place in the code that contains swearing and 
desperation in the comments, if all of the uploads were switched to CAPS 
it would make our codebase more family friendly. So there's a "think of 
the children" angle to this discussion. The other reasons include more 
pedantic things like if you start a second upload before the first gets 
a RequestXfer packet back there is no way to discern between the ACKs 
for each upload (the system wasn't designed for parallel uploads at all 
from what I can tell, but it can be done if you are really careful), and 
you have to typecast from a 64-bit integer to a 128-bit UUID (allocating 
a bit of memory) each time a ConfirmXferPacket is received. Speaking of 
which, the two layers of ACKing (PacketAck + ConfirmXferPacket) means it 
uses more bandwidth then a TCP upload would even under perfect network 
conditions. And from an overall protocol design spec it's another 
redundant system to document.

Having said that, there are a lot of other things I'd like to see pushed 
out before retiring the Xfer system. I'm just saying I don't think 
anyone will be sad to see it go.

John


More information about the SLDev mailing list