aboutsummaryrefslogtreecommitdiff
path: root/doc/HACKING
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2003-12-13 22:55:12 +0000
committerRoger Dingledine <arma@torproject.org>2003-12-13 22:55:12 +0000
commit10548ae9ecc1e757a40aa79f761dbc4a19ed6034 (patch)
tree777dc8a35032d28c746d66f020959d0ce3833511 /doc/HACKING
parent8222fe8e4f8f88454bf94c730da6a5be281aa364 (diff)
downloadtor-10548ae9ecc1e757a40aa79f761dbc4a19ed6034.tar
tor-10548ae9ecc1e757a40aa79f761dbc4a19ed6034.tar.gz
a few minor updates to hacking
svn:r908
Diffstat (limited to 'doc/HACKING')
-rw-r--r--doc/HACKING11
1 files changed, 6 insertions, 5 deletions
diff --git a/doc/HACKING b/doc/HACKING
index f2f15a55a..046521b3e 100644
--- a/doc/HACKING
+++ b/doc/HACKING
@@ -65,14 +65,15 @@ the distant future, stuff may have changed.)
Also implements parsing functions to read HTTP and SOCKS commands
from buffers.
- tree.h -- A splay tree implementation by Niels Provos. Used only by
- dns.c.
+ tree.h -- A splay tree implementation by Niels Provos. Used by
+ dns.c for dns caching at exits, and by connection_edge.c for dns
+ caching at clients.
config.c -- Code to parse and validate the configuration file.
[Background processing modules]
- cpuworker.c -- Implements a separate 'CPU worker' process to perform
+ cpuworker.c -- Implements a farm of 'CPU worker' processes to perform
CPU-intensive tasks in the background, so as not interrupt the
onion router. (OR only)
@@ -163,7 +164,7 @@ the distant future, stuff may have changed.)
[Internal]
CONN_TYPE_DNSWORKER -- Connection from the main process to a DNS
worker process. [OR only]
-
+
CONN_TYPE_CPUWORKER -- Connection from the main process to a CPU
worker process. [OR only]
@@ -196,7 +197,7 @@ the distant future, stuff may have changed.)
poll, if poll is not available) to handle nonblocking (asynchronous)
IO. If you're not familiar with nonblocking IO, check out the links
at the end of this document.
-
+
All asynchronous logic is handled in main.c. The functions
'connection_add', 'connection_set_poll_socket', and 'connection_remove'
manage an array of connection_t*, and keep in synch with the array of