diff --git a/docs/manual.html b/docs/manual.html index a84be146b..dd56415bd 100644 --- a/docs/manual.html +++ b/docs/manual.html @@ -226,46 +226,49 @@
auto_manage_prefer_seeds specifies if libtorrent should prefer giving seeds +active slots or downloading torrents. The default is false.
if dont_count_slow_torrents is true, torrents without any payload transfers are not subject to the active_seeds and active_downloads limits. This is intended to make it more likely to utilize all available bandwidth, and avoid having torrents @@ -5126,9 +5132,70 @@ session
The names of these error codes are declared in then libtorrent::errors namespace.
+The error_code::message() function will typically return a localized error string, +for system errors. That is, errors that belong to the generic or system category.
+Errors that belong to the libtorrent error category are not localized however, they +are only available in english. In order to translate libtorrent errors, compare the +error category of the error_code object against libtorrent::libtorrent_category, +and if matches, you know the error code refers to the list above. You can provide +your own mapping from error code to string, which is localized. In this case, you +cannot rely on error_code::message() to generate your strings.
+The numeric values of the errors are part of the API and will stay the same, although +new error codes may be appended at the end.
+Here's a simple example of how to translate error codes:
++std::string error_code_to_string(boost::system::error_code const& ec) +{ + if (ec.category() != libtorrent::libtorrent_category) + { + return ec.message(); + } + // the error is a libtorrent error + + int code = ec.value(); + static const char const* swedish[] = + { + "inget fel", + "en fil i torrenten kolliderar med en fil från en annan torrent", + "hash check misslyckades", + "torrent filen är inte en dictionary", + "'info'-nyckeln saknas eller är korrupt i torrentfilen", + "'info'-fältet är inte en dictionary", + "'piece length' fältet saknas eller är korrupt i torrentfilen", + "torrentfilen saknar namnfältet", + "ogiltigt namn i torrentfilen (kan vara en attack)", + // ... more strings here + }; + + // use the default error string in case we don't have it + // in our translated list + if (code < 0 || code >= sizeof(swedish)/sizeof(swedish[0])) + return ec.message(); + + return swedish[code]; +} ++
Compilers generally add a significant number of bytes to executables that make use of C++ exceptions. By disabling exceptions (-fno-exceptions on GCC), you can -reduce the executable size with up to 45%.
+reduce the executable size with up to 45%. In order to build without exception +support, you need to patch parts of boost.Also make sure to optimize for size when compiling.