Xfer Manager

From Second Life Wiki
Revision as of 17:03, 2 January 2007 by Cube Linden (talk | contribs)
Jump to navigation Jump to search

The Xfer Manager is the legacy file transfer system. It has been replaced in most cases by the Transfer Manager, but still exists in some places.

The Xfer Manager still deals with the transfer of

  • Retransmission of unacknowledged packets (see Packet Accounting for more information)
  • Gestures
  • Raw terrain data for simulator terraforming
  • Mute lists
  • Object inventory lists
  • Some scripted attachments
  • Assets (sounds, textures, etc...) from the viewer to the simulator

The Xfer Manager keep a list of all transfers currently happening. As new transfers are requested, it generates an ID for them and adds them to the list, and starts downloads by sending a RequestXfer message with data about the file it is expecting and parameters for the transfer. The remote host parses the message, and either starts the transfer by returning SendXferPacket messages with the corresponding transfer id, or returns an AbortXfer packet if the request data is invalid. For each SendXferPacket received, a ConfirmXferPacket message is sent as an acknowledgement of the packet being received. This also triggers the next SendXferPacket to be sent. If the packet is the last one of the transfer, the transfer packet number is OR'd with 0x80000000 in order to signify the end of the transfer.


ConfirmXferPacket RequestXfer SendXferPacket AbortXfer