LSL Protocol/Restrained Love Open Relay Group/x-xtensions
!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)