Xfer Manager

From Second Life Wiki
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 handles the transfer of

  • 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 with AssetUploadRequest, 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.

AssetUploadRequest ConfirmXferPacket RequestXfer SendXferPacket AbortXfer