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

From Second Life Wiki
Jump to navigation Jump to search
(RestrainedLove)
 
Line 1: Line 1:
{{ ORG Restrained Life Relay Specs TOC }}
{{Restrained Love Open Relay Group TOC}}


= !x-ack =
= !x-ack =
Line 22: Line 22:


Behavior requirements:
Behavior requirements:
* This will change the way the relay acknowledge commands, applying the policy given in the argument of the command, thus overriding the [[LSL_Protocol/Restrained_Life_Open_Relay_Group/ORG_Requirements|core requirement]] that every command should be acknowleged. There are now, in 002, two policies:
* This will change the way the relay acknowledge commands, applying the policy given in the argument of the command, thus overriding the [[LSL Protocol/Restrained Love Open Relay Group/ORG Requirements|core requirement]] that every command should be acknowledged. There are now, in 002, two policies:
:* verbose: it is the default usual policy for RLV relays
:* verbose: it is the default usual policy for RLV relays
:* quiet: "ok" and "ko" acknowledgements are not sent (other useful replies '''should''' still be sent!).
:* quiet: "ok" and "ko" acknowledgements are not sent (other useful replies '''should''' still be sent!).
* This behavior change only concerns the acknowledgements to commands from the device issuing !x-ack.
* This behavior change only concerns the acknowledgements to commands from the device issuing !x-ack.
* The possible acknowledgements to "!x-ack" are "ok" to say it was accepted, and "ko" otherwise. The acknowledgement may or may not be sent, depending on the current acknowledgement policy but, in every case, if there is a policy change, its effects start immediately, that is ''before'' the relay (does not) acknowledges "!x-ack".
* The possible acknowledgements to "!x-ack" are "ok" to say it was accepted, and "ko" otherwise. The acknowledgement may or may not be sent, depending on the current acknowledgement policy but, in every case, if there is a policy change, its effects start immediately, that is ''before'' the relay (does not) acknowledges "!x-ack".
* No matter the active acknowledgement policy, "!release,ok" should be always sent in case of safewording (which is not really an acknowledgement because it is not a reply to a command from the controlling device). Same goes for any other message sent at the initiative of the relay.
* No matter the active acknowledgement policy, "!release,ok" should be always sent in case of safe-wording (which is not really an acknowledgement because it is not a reply to a command from the controlling device). Same goes for any other message sent at the initiative of the relay.
* The acknowledgement policy is restored on relog.
* The acknowledgement policy is restored on relog.


Line 42: Line 42:
  R <- C: @detach:pelvis=force,ok
  R <- C: @detach:pelvis=force,ok


Exemple 2, a low-lag RLV zone controller:
Example 2, a low-lag RLV zone controller:
  C −> *: !x-ack/quiet|@sittp=n|@tplure=n|@tploc=n|@tplm=n|@showworldmap=n|@showminimap=n|@showloc=n
  C −> *: !x-ack/quiet|@sittp=n|@tplure=n|@tploc=n|@tplm=n|@showworldmap=n|@showminimap=n|@showloc=n
  (Then no relay should answer, but everybody should be restricted. "*" instead of "R" means
  (Then no relay should answer, but everybody should be restricted. "*" instead of "R" means
  a wildcard was used, as introduced in ORG-0002. Without the wildcard and !x-ack,  a lot of
  a wildcard was used, as introduced in ORG-0002. Without the wildcard and !x-ack,  a lot of
  spam would have been sent to the RLV channel.)
  spam would have been sent to the RLV channel.)

Latest revision as of 09:00, 28 July 2012

!x-ack

STATUS: draft

VERSION: 002


002 Implemented in Dahlia's multirelay (<-- this command is not supported anymore due to llRegionSayTo())

001 Implemented in Satomi's multirelay


!x-ack/quiet: tells the relay to stop sending "ok" and "ko" acknowledgements

!x-ack/verbose: tells the relay to resume sending them

Rationale: reduce relay channel spam, and thus lag, by disabling acknowledgements that the controlling device does not care about.

General syntax: !x-ack[/STRING]*, where STRING is the desired acknowledgement policy.

Behavior requirements:

  • This will change the way the relay acknowledge commands, applying the policy given in the argument of the command, thus overriding the core requirement that every command should be acknowledged. There are now, in 002, two policies:
  • verbose: it is the default usual policy for RLV relays
  • quiet: "ok" and "ko" acknowledgements are not sent (other useful replies should still be sent!).
  • This behavior change only concerns the acknowledgements to commands from the device issuing !x-ack.
  • The possible acknowledgements to "!x-ack" are "ok" to say it was accepted, and "ko" otherwise. The acknowledgement may or may not be sent, depending on the current acknowledgement policy but, in every case, if there is a policy change, its effects start immediately, that is before the relay (does not) acknowledges "!x-ack".
  • No matter the active acknowledgement policy, "!release,ok" should be always sent in case of safe-wording (which is not really an acknowledgement because it is not a reply to a command from the controlling device). Same goes for any other message sent at the initiative of the relay.
  • The acknowledgement policy is restored on relog.

Example 1:

C -> R: !x-ack/quiet
(nothing)
C -> R: @remoutfit=force
(nothing)
C -> R: !x-orgversions
C <- R: 0002/ack=001
C -> R: !x-ack/verbose
C <- R: !x-ack/verbose,ok
C -> R: @detach:pelvis=force
R <- C: @detach:pelvis=force,ok

Example 2, a low-lag RLV zone controller:

C −> *: !x-ack/quiet|@sittp=n|@tplure=n|@tploc=n|@tplm=n|@showworldmap=n|@showminimap=n|@showloc=n
(Then no relay should answer, but everybody should be restricted. "*" instead of "R" means
a wildcard was used, as introduced in ORG-0002. Without the wildcard and !x-ack,  a lot of
spam would have been sent to the RLV channel.)