LLUDP ClientStack

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Created page with "=Introduction= These are draft notes on OpenSimulator's implementation of the LLUDP ClientStack, a chunk of code which is used to send and receive packets from viewers (clients)...")
 
Line 13: Line 13:
 
* Throttling of outgoing UDP messages.
 
* Throttling of outgoing UDP messages.
 
* Pooling of clientstack structures (e.g. classes representing messages) in order to improve efficiency and reduce memory usage.
 
* Pooling of clientstack structures (e.g. classes representing messages) in order to improve efficiency and reduce memory usage.
 +
 +
=Useful console commands=
 +
 +
These are console commands which are useful in debugging or investigating the LLUDP protocol.
 +
 +
* debug lludp packet [--default] <level> [<avatar-first-name> <avatar-last-name>] - Turn on packet debugging.  In OpenSimulator 0.7.5 and previous this command was "debug packet".
 +
* debug lludp pool <on|off> - Turn object pooling within the lludp component on or off.
 +
* debug lludp start <in|out|all> - Control LLUDP packet processing.
 +
* debug lludp status - Return status of LLUDP packet processing.
 +
* debug lludp stop <in|out|all> - Stop LLUDP packet processing.
  
 
=Other references=
 
=Other references=
  
 
* [[Sim Throttles]] contains very old information on the implementation of throttles.  This has likely changed considerably but could still be useful.
 
* [[Sim Throttles]] contains very old information on the implementation of throttles.  This has likely changed considerably but could still be useful.

Revision as of 11:24, 18 July 2013

Introduction

These are draft notes on OpenSimulator's implementation of the LLUDP ClientStack, a chunk of code which is used to send and receive packets from viewers (clients) implementing the Linden Labs virtual environment protocol.

As such, this stack handles

  • Initial setup of an instance of the stack for a viewer.
  • Handling of inbound UDP messages from a connected viewer.
  • Sending of outbound UDP messages to a connected viewer.
  • Throttling of outbound messages.
  • Sending and receive of ack messages, both inline within other messages and as standalone messages.
  • Resending of messages that are marked as reliable but for which receipt has not been acknowledged by the viewer.
  • Throttling of outgoing UDP messages.
  • Pooling of clientstack structures (e.g. classes representing messages) in order to improve efficiency and reduce memory usage.

Useful console commands

These are console commands which are useful in debugging or investigating the LLUDP protocol.

  • debug lludp packet [--default] <level> [<avatar-first-name> <avatar-last-name>] - Turn on packet debugging. In OpenSimulator 0.7.5 and previous this command was "debug packet".
  • debug lludp pool <on|off> - Turn object pooling within the lludp component on or off.
  • debug lludp start <in|out|all> - Control LLUDP packet processing.
  • debug lludp status - Return status of LLUDP packet processing.
  • debug lludp stop <in|out|all> - Stop LLUDP packet processing.

Other references

  • Sim Throttles contains very old information on the implementation of throttles. This has likely changed considerably but could still be useful.
Personal tools
General
About This Wiki