diff --git a/doc/manual/choke_groups.md b/doc/manual/choke_groups.md new file mode 100644 index 00000000..7d627216 --- /dev/null +++ b/doc/manual/choke_groups.md @@ -0,0 +1,25 @@ +# Choke Groups + +## Settings + + choke_group.insert = "leech_fast" + +Create a new group named "leech_fast", accessible by the string or +index / reverse index according to order of insertion. E.g. '-1' +refers to the last inserted choke group, while 0 refers to the first. + + choke_group.tracker.mode.set = -1,"aggressive" + +Set the tracker mode for torrents in this group. + + choke_group.up.heuristics.set = -1,"upload_leech_experimental" + choke_group.down.heuristics.set = -1,"download_leech" + +Set the heuristics used when deciding on which peers to choke and +unchoke. Use "strings.choke_heuristics{,.upload,.download}" to get a +list of the available heuristics. + + choke_group.up.max.set = -1,250 + choke_group.down.max.set = -1,500 + +Set the max total number of unchoked peers for all torrents in this choke group. diff --git a/doc/manual/ip_filtering.md b/doc/manual/ip_filtering.md new file mode 100644 index 00000000..8cc531af --- /dev/null +++ b/doc/manual/ip_filtering.md @@ -0,0 +1,64 @@ +# IP filtering + +## Introduction + +## Make a new ip table + + ip_tables.insert_table = + +Create a new empty table with the name ’table\_name’, with the default +value returned being $0$. + +There is currently no use of the generic ip tables commands. + +## Add a new address block + + ip_tables.add_address = , 10.0.0.0/8, + +Set for all addresses in the address block, overwriting prior +values. + +## Add a new address block + + ip_tables.load = , ~/foo.txt, + +Set for all addresses in the file ’foo.txt’ separated by +newline, similar to ’add\_address’. + +## Get value for address + + ip_tables.get = , 10.10.10.10 + +Returns the value set for an address, or the address block it belongs +to. The default is $0$. + +## Size of data structures + + ip_tables.size_data = + +Returns the size in bytes of all data structures for this table, +excluding the root class object itself. Note that the in-memory table is +dynamically consolidated, as such memory use will always be based on +actual fragmentation. + +The table is a b-tree with 1024 nodes per branch. + +## IPv4 filtering table + + ipv4_filter.add_address = 10.0.0.0/8, unwanted + ipv4_filter.add_address = 11.0.0.0/8, preferred + ipv4_filter.load = ~/filters.txt, unwanted + ipv4_filter.get = 10.10.10.10 + ipv4_filter.size_data = + +The main ip filter, currently supporting ’unwanted’ (do not allow +connections) and ’preferred’ (currently used only in private code). + +## Constants + + strings.ip_filter = + => + { "unwanted", PeerInfo::flag_unwanted }, + { "preferred", PeerInfo::flag_preferred }, + +Constants used by ipv4\_filter values. diff --git a/doc/manual/ip_filtering.tex b/doc/manual/ip_filtering.tex index 976b31d2..44fbbe20 100644 --- a/doc/manual/ip_filtering.tex +++ b/doc/manual/ip_filtering.tex @@ -1,4 +1,4 @@ -\section(IP filtering} +\section{IP filtering} \subsection{Introduction} diff --git a/doc/manual/logging.md b/doc/manual/logging.md new file mode 100644 index 00000000..19441a8d --- /dev/null +++ b/doc/manual/logging.md @@ -0,0 +1,50 @@ +# Logging + +## Opening log files + + # log.open_file = "log name", "file path" + + log.open_file = "rtorrent.log", (cat,/tmp/rtorrent.log.,(system.pid)) + +A newly opened log file is not connected to any logging events. + +Some control over formatting will be provided at a later date. + +## Adding outputs to events + + # log.add_output = "logging event", "log name" + + log.add_output = "info", "rtorrent.log" + + log.add_output = "dht_debug", "tracker.log" + log.add_output = "tracker_debug", "tracker.log" + +Each log handle can be added to multiple different logging events. + +## Logging events + + "critical" + "error" + "warn" + "notice" + "info" + "debug" + +The above events receive logging events from all the sub-groups +displayed below, and each event also reciving events from the event +above in importance. + +Thus some high-volume sub-group events such as “tracker\_debug” are not +part of “debug” and every “warn” event will receive events from “error”, +“critical”. + + "connection_*" + "dht_*" + "peer_*" + "rpc_*" + "storage_*" + "thread_*" + "tracker_*" + "torrent_*" + +All sub-groups have events from “critical” to “debug” defined.