LSL Protocol/Restrained Love Open Relay Group/autoforward
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.