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

From Second Life Wiki
Jump to navigation Jump to search
m
Line 3: Line 3:
= !x-ack =
= !x-ack =
STATUS: proposal
STATUS: proposal
''Implemented in Dahlia's multirelay''


VERSION: 001
VERSION: 001

Revision as of 05:27, 8 August 2010

!x-ack

STATUS: proposal


Implemented in Dahlia's multirelay


VERSION: 001

!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. There are now, in 001, two policies:
  • verbose: it is the default usual policy for RLV relays
  • quiet: "ok" and "ko" acknowledgements are not sent.
  • 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.

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

Exemple 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.)