$UGetBlock

From DCppWiki

Jump to: navigation, search

This is a DC++ protocol extension, to be used instead of $Get and $Send. Support for it is indicated by XmlBZList in $Supports.

Syntax

$UGetBlock <start> <numbytes> <filename utf8 encoded>|

Example

$UGetBlock 0 -1 files.xml.bz2|

Description

  • <start> - starting index of the file
  • <numbytes> - the number of bytes to get or -1 for unknown (i.e. the whole file)
  • <filename - the name of the filename to get

Note that the starting index in $UGetBlock is 0-based, unlike $Get which is 1-based. The other client then responds "$Sending <bytes>|<data>", if the sending is ok or "$Failed <errordescription>|" if it isn't.

The filename is encoded as UTF-8, which allows filenames to use characters that are not in the default DC encoding, CP1252 encoding.

$UGetBlock must be implemented if XmlBZList is advertised. There is a compression-enabled version of this command, $UGetZBlock, which is optional.