LSL Protocol/Restrained Love Open Relay Group/ack

From Second Life Wiki
< LSL Protocol‎ | Restrained Love Open Relay Group
Revision as of 06:50, 5 August 2010 by Satomi Ahn (talk | contribs) (initial draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

!x-ack

STATUS: proposal

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 only after 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:

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