Difference between revisions of "LSL Protocol/Restrained Love Open Relay Group/x-xtensions"

From Second Life Wiki
Jump to navigation Jump to search
Line 18: Line 18:
; Example:
; Example:
  -> blah,k(R),!x-tensions
  -> blah,k(R),!x-tensions
  <- blah,k(C),!x-tensions,core=1100/tensions=000/vision=002/listen=001/email=012/channel=002
  <- blah,k(C),!x-tensions,core=1100/xtensions=001/vision=002/listen=001/email=005/channel=002




; Key points
; 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 the full list of meta-commands (email extension has 3 meta-commands, for instance). Note that extension names do not contain the "!x-". Versions numbers are 3 digits.
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.


"core" is the core RLVR protocol (as defined by Marine Kelley), and its version number has 4 digits, that are the same as those returned by !version.
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.


Also note that one of the responses should be ''tensions'' and its version number. While it seems unlikely that the protocol would change, not responding with ''tensions'' and a version number will make it impossible to make any substantive changes should they prove necessary.


; Discussion
; Discussion


I changed the 3rd level separator from "|" to "=", only for readibility reasons. Please tell me if you think it was a poor choice.--[[User:Satomi Ahn|Satomi Ahn]] 12:03, 3 July 2009 (UTC)
I changed the 3rd level separator from "|" to "=", only for readibility reasons. Please tell me if you think it was a poor choice.--[[User:Satomi Ahn|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?--[[User:Satomi Ahn|Satomi Ahn]] 12:19, 3 July 2009 (UTC)

Revision as of 05:19, 3 July 2009

!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)