LSL Protocol/Restrained Love Open Relay Group/x-xtensions

From Second Life Wiki
Jump to navigation Jump to search

!x-tensions

STATUS: Up for discussion, but near final

VERSION: Draft 1 (version string: 001)

Implemented in OpenCollar and in Satomi's Multirelay HUD

Description
Queries the relay to discover the list of supported x-tensions; this way devices can query the relay for supported x-tensions and make use of them or not as they choose.
Implementation
Returns the list of ORG extensions implemented in the relay
Syntax
!x-tensions
Response
!x-tensions,<reply>
where <reply> is a list of x-tensions, separated by / where each extension is listed with a version number
Example
-> blah,k(R),!x-tensions
<- blah,k(C),!x-tensions,core=1100/xtensions=001/vision=002/listen=001/email=005/channel=002


Key points

The relay should answer, in the acknowledgement field by the list of supported x-tensions, separated by slashes "/", followed by the version of the specification of the extension which is implemented (after a vertical bar "|"). Note that only the x-tension names are given, not meta-command names (email extension has 3 meta-commands, for instance). Note that extension names do not contain the "!x-". Versions numbers are 3 digits.

One required response is core. "core" is the core RLVR protocol (as defined by Marine Kelley), and its version number is 4 digits (where all the other components have only 3), that are the same as those returned by !version. In some cases where the furniture doesn't wan't to speak to non-ORG relays, this can spare a !version request.

Also another required response is xtensions. While it seems unlikely that the protocol would change, not responding with xtensions and a version number will make it impossible to make any substantive changes should they prove necessary.


Discussion

I changed the 3rd level separator from "|" to "=", only for readibility reasons. Please tell me if you think it was a poor choice.--Satomi Ahn 12:03, 3 July 2009 (UTC)

And what about not-yet validated or proprietary RLVR extensions? Should we recommend adding them to the !x-tensions reply? Maybe with negative version numbers?--Satomi Ahn 12:19, 3 July 2009 (UTC)