Difference between revisions of "Talk:LLSD"
Bernd Elswit (talk | contribs) (Versioning?) |
|||
Line 14: | Line 14: | ||
:Oh wow, notation format. Ummmmm, I never documented that, did I. LLSD started it's life as a json-like language, with a well defined serialization which is not actually documented. I'll get on that. [[User:Phoenix Linden|Phoenix Linden]] 16:10, 6 April 2007 (PDT) | :Oh wow, notation format. Ummmmm, I never documented that, did I. LLSD started it's life as a json-like language, with a well defined serialization which is not actually documented. I'll get on that. [[User:Phoenix Linden|Phoenix Linden]] 16:10, 6 April 2007 (PDT) | ||
:Documentation has been added. [[User:Phoenix Linden|Phoenix Linden]] 17:34, 12 April 2007 (PDT) | :Documentation has been added. [[User:Phoenix Linden|Phoenix Linden]] 17:34, 12 April 2007 (PDT) | ||
== Versioning? == | |||
Personally I miss a few things here, especially the versioning/compatibility. Sure you can asume that older request just have less keys in a map, and that might work well for things like statistics results. But as soon as you want to call a method, it is much better to make the version obvious. You can encode that in a key/value pair, but it is much better to have that in a fixed element for routing (you can route requests for inventories to different servers, depending on the interface version) | |||
I see a Version:i1 in the notation example for the teleport, which makes it clear, that this element is used already in LL. Maybe it is hard for you to make it to a llsd envelop, but I think you guys will have great use for it. | |||
<pre><llsd> | |||
<method version="1" interface="simstatistics" message="result" /> | |||
...</pre> | |||
or something like that. |
Revision as of 10:09, 18 May 2007
Please sign comments you leave here by putting four tildes (~~~~) at the end of your comment. For more guidelines, see Talk Page Guidelines
LLSD JSON-ish notation
The login sequence appears to use "binary" LLSD for two of the variables, home and look_at. Unfortunately the format doesn't match up exactly with what is documented on this wiki. Sample values:
{'region_handle':[r255232, r256512], 'position':[r33.6, r33.71, r43.13], 'look_at':[r34.6, r33.71, r43.13]}
[r0.99967899999999998428,r-0.025334599999999998787,r0]
No size values, and the map keys are encased in single quotes. Is this normal? -- —The preceding unsigned comment was added by Eddy Stryker
- Oh wow, notation format. Ummmmm, I never documented that, did I. LLSD started it's life as a json-like language, with a well defined serialization which is not actually documented. I'll get on that. Phoenix Linden 16:10, 6 April 2007 (PDT)
- Documentation has been added. Phoenix Linden 17:34, 12 April 2007 (PDT)
Versioning?
Personally I miss a few things here, especially the versioning/compatibility. Sure you can asume that older request just have less keys in a map, and that might work well for things like statistics results. But as soon as you want to call a method, it is much better to make the version obvious. You can encode that in a key/value pair, but it is much better to have that in a fixed element for routing (you can route requests for inventories to different servers, depending on the interface version)
I see a Version:i1 in the notation example for the teleport, which makes it clear, that this element is used already in LL. Maybe it is hard for you to make it to a llsd envelop, but I think you guys will have great use for it.
<llsd> <method version="1" interface="simstatistics" message="result" /> ...
or something like that.