Difference between revisions of "LSL Protocol/Restrained Love Open Relay Group/autoforward"

From Second Life Wiki
Jump to navigation Jump to search
Line 6: Line 6:
version: 001
version: 001


''Partially implemented in Dahlia's multirelay 1.2.14 and anythingRLV3.6RC8''
''Implemented in Dahlia's multirelay 1.2.14 and anythingRLV3.6RC8''


Two new commands !x-autoforward and !x-autoforward/clear explained below.
Two new commands !x-autoforward and !x-autoforward/clear explained below.
Line 51: Line 51:
  C <-chat on RLVRC- R: 1111,/unworn legally pants
  C <-chat on RLVRC- R: 1111,/unworn legally pants
   ...
   ...
'''Some remarks'''
* If the controller and the relay are in a private chat session,the forwarding must be done on the private channel.
* After a !x-autoforward/clear, all listeners opened during the autoforwarding must be closed.


==Interaction with !x-handover==
==Interaction with !x-handover==


After a !x-handover, the next grabber must send a new !x-autoforward if required.
After a !x-handover, the next grabber must send a new !x-autoforward if required. So all listeners opened by the relay for the preceding grabber must be closed.

Revision as of 05:39, 12 June 2011

autoforward

STATUS: draft

version: 001

Implemented in Dahlia's multirelay 1.2.14 and anythingRLV3.6RC8

Two new commands !x-autoforward and !x-autoforward/clear explained below.

Description of !x-autoforward and !x-autoforward/clear

The relay must answer ok if and only if the source is a grabber. Otherwise the answer is always ko. The effect of this command is as follows: for any command @getsomething:xxx=channel, the relay must listen to the viewer's answer and resend it (by email, chat using llRegionSayTo(), http-in) together with the number of the channel.

Typical exchange (if C is already accepted by the relay) in chat session:

C -chat on RLVRC-> R: enable_forward,!x-autoforward
C <-chat on RLVRC- R: enable_forward,!x-autoforward,ok
C -chat on RLVRC-> R: outfit_query,@getoutfit=1111
C <-chat on RLVRC- R: outfit_query,@getoutfit=1111,ok
R --llOwnerSay--> V: @getoutfit=1111
R <-chat on 1111- V: 0010011111111110
C <-chat on RLCRC- R: 1111,0010011111111110

To disable autoforwarding:

C -chat on RLVRC-> R: disable_forward,!x-autoforward/clear
C <-chat on RLVRC- R: disable_forward,!x-autoforward/clear,ok

Typical exchange (if C is already accepted by the relay) in !x-email session:

C -chat on RLVRC-> R: enable_forward,!x-autoforward
C <-chat on RLVRC- R: enable_forward,!x-autoforward,ok
C -chat on RLVRC-> R: outfit_query,@getoutfit=1111
C <-chat on RLVRC- R: outfit_query,@getoutfit=1111,ok
R --llOwnerSay--> V: @getoutfit=1111
R <-chat on 1111- V: 0010011111111110
C <------email---- R: 1111,0010011111111110

Other point: if autoforward is enabled, "@notify:channel;option" sets a permanent listener on that channel in the relay, and the relay will forward everything that comes from the viewer on this channel to the contoller.

C -chat on RLVRC-> R: spy_outfit_changes@notify:1111;worn=add
C <-chat on RLVRC- R: spy_outfit_changes@notify:1111;worn=add,ok
R --llOwnerSay--> V: @notify:1111;worn=add
  ...
R <-chat on 1111- V: /worn legally shirt
C <-chat on RLVRC- R: 1111,/worn legally shirt
  ...
R <-chat on 1111- V: /unworn legally pants
C <-chat on RLVRC- R: 1111,/unworn legally pants
  ...

Some remarks

  • If the controller and the relay are in a private chat session,the forwarding must be done on the private channel.
  • After a !x-autoforward/clear, all listeners opened during the autoforwarding must be closed.

Interaction with !x-handover

After a !x-handover, the next grabber must send a new !x-autoforward if required. So all listeners opened by the relay for the preceding grabber must be closed.