<div>+1 on Replacing libsecondlife.LLUUID with an object that we control, however, I'm still thinking that a hash, even a sha1 hash, might not be the best tool to accomplish the goal universally. It really wouldn't be 'that' hard to add a lookup table for RandomUUID----> hash---> Data. The query is simple too.</div>
<div> </div>
<div>Best Regards </div>
<div> </div>
<div>Teravus<br><br> </div>
<div><span class="gmail_quote">On 6/24/08, <b class="gmail_sendername">Stefan Andersson</b> <<a href="mailto:stefan@tribalmedia.se">stefan@tribalmedia.se</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Sean,<br> <br>Regardless possibly differing end goals, I'm all +1 on this one. We have been talking about doing something about the LLUUIDs for so long, this is an excellent opportunity and tactic to do so.<span class="q"><br>
<br>Best regards,<br>Stefan Andersson<br>Tribal Media AB<br> <br>Join the 3d web revolution : <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://tribalnet.se/" target="_blank">http://tribalnet.se/</a><br>
<br><br><br>
<hr>
</span>> Date: Mon, 23 Jun 2008 18:22:46 -0400<br>> From: <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:sean@dague.net" target="_blank">sean@dague.net</a><span class="q"><br>> To: <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:opensim-dev@lists.berlios.de" target="_blank">opensim-dev@lists.berlios.de</a><br>
> Subject: Re: [Opensim-dev] Proposal to eliminate the name, description and invType fields from the assets db<br>> <br></span>
<div><span class="e" id="q_11ab9b055fc5d682_4">> On Mon, Jun 23, 2008 at 11:13:09PM +0100, Justin Clark-Casey wrote:<br>> <snip><br>> > If asset uuids are hashes, then they can disappear from the user and <br>
> > program's view. Outside of OpenSim, there is no need to manipulate <br>> > uuids in this scenario - collections of objects or scenes can be <br>> > structured in any way that the external program pleases. Instead of <br>
> > getting asset uuids on import, the importing process calculates the <br>> > necessary uuids from data, and can ask the asset service whether these <br>> > already exist without needing to actually obtain the blobs.<br>
> > <br>> > I think that it's possible to experiment with the hashing idea without <br>> > requiring the whole system to change. Indeed, because of the very <br>> > import scenario outlined above, I may well try using it for importing <br>
> > object archives. This shouldn't impact the rest of the system since, of <br>> > course, the chances of collision are small.<br>> <br>> Before we do this, we should make sure to actually do the version 5 uuid<br>
> implementation, which isn't just sha1, as it does some reserved bytes to<br>> make sure that you can tell from the UUID what version generated it.<br>> <br>> My suggestion, which came out on IRC, is that we create a singleton UUID<br>
> generator class that can be configed on construction as to which type to<br>> generate. Then we create version 4 (random, what we have today) and<br>> version 5 (sha1 based on content) implementations (anyone that wants to<br>
> implement versions 1 - 3 is welcomed to).<br>> <br>> UUID assignment would come in the form: UUID.Create(assetdata).<br>> <br>> We'll always need UUID type 4 support for prims and other mutable<br>> structures, as type 5 doesn't really make any sense. But for assetid<br>
> assignment we can do this in a user configurable manner. Also, because<br>> the uuids are namespaced correctly, we can easily distinguish which were<br>> created in which model.<br>> <br>> Honestly, this is all probably a bit down the road. But looking at the<br>
> UUID RFC is a good place to check out some of the peer reviewed models<br>> for generating UUIDs.<br>> <br>> -Sean<br>> <br>> -- <br>> __________________________________________________________________<br>
> <br>> Sean Dague Mid-Hudson Valley<br>> sean at dague dot net Linux Users Group<br>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://dague.net/" target="_blank">http://dague.net</a> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://mhvlug.org/" target="_blank">http://mhvlug.org</a><br>
> <br>> There is no silver bullet. Plus, werewolves make better neighbors<br>> than zombies, and they tend to keep the vampire population down.<br>> __________________________________________________________________<br>
<br></span></div></div><br>_______________________________________________<br>Opensim-dev mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br><br></blockquote></div><br>