tor/src/or
Nick Mathewson 6e6a661296 New UserspaceIOCPBuffers option to set SO_{SND,RCV}BUF to zero
When running with IOCP, we are in theory able to use userspace-
allocated buffers to avoid filling up the stingy amount of kernel
space allocated for sockets buffers.

The bufferevent_async implementation in Libevent provides this
ability, in theory.  (There are likely to be remaining bugs).  This
patch adds a new option that, when using IOCP bufferevents, sets
each socket's send and receive buffers to 0, so that we should use
this ability.

When all the bugs are worked out here, if we are right about bug 98,
this might solve or mitigate bug 98.

This option is experimental and will likely require lots of testing
and debugging.
2011-11-18 17:43:03 -05:00
..
buffers.c Fix a bunch of whitespace errors 2011-10-11 11:30:01 -04:00
buffers.h Add a generic_buffer_t to use the best buffer type we have on hand 2011-07-18 15:36:20 -04:00
circuitbuild.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-11-03 13:24:46 -04:00
circuitbuild.h Merge remote-tracking branch 'asn2/bug3656' 2011-10-07 16:05:13 -04:00
circuitlist.c Merge remote-tracking branch 'rransom-tor/bug3825c' 2011-10-23 12:55:10 -04:00
circuitlist.h Add a circuit_purpose_to_string() function, and use it 2011-04-27 00:01:35 -04:00
circuituse.c Fix names of functions that convert strings to addrs 2011-10-11 11:30:12 -04:00
circuituse.h Move entry-only fields from edge_connection_t to entry_connection_t 2011-07-21 11:15:25 -04:00
command.c Make certificate skew into a protocol warning 2011-11-15 15:57:46 -05:00
command.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
config.c New UserspaceIOCPBuffers option to set SO_{SND,RCV}BUF to zero 2011-11-18 17:43:03 -05:00
config.h Merge remote-tracking branch 'asn2/bug3656' 2011-10-07 16:05:13 -04:00
config_codedigest.c fix codestyle issues 2009-05-24 02:42:37 +02:00
connection.c Fix compile warnings on windows 2011-11-15 13:34:04 +01:00
connection.h Remove connection_uses_transport() since it was unused. 2011-09-11 20:33:27 +02:00
connection_edge.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-10-19 23:16:08 -04:00
connection_edge.h Fix whitespace issues in patches merged today so far 2011-09-07 20:26:58 -04:00
connection_or.c Don't fail to send netinfo if real_addr is unset 2011-11-16 16:05:46 +01:00
connection_or.h Fix a bunch of whitespace errors 2011-10-11 11:30:01 -04:00
control.c Eat all whitespace after a control command 2011-11-16 18:14:06 +01:00
control.h Merge remote-tracking branch 'public/split_entry_conn' 2011-09-07 14:13:57 -04:00
cpuworker.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-05-30 14:58:26 -04:00
cpuworker.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
directory.c manually backport a5232e0c4c 2011-10-26 17:11:52 -04:00
directory.h Make a function static 2011-07-11 16:13:17 -04:00
dirserv.c trivial code cleanup in generate_v2_networkstatus_opinion() 2011-11-16 18:59:20 -05:00
dirserv.h Make the get_options() return const 2011-06-14 13:17:06 -04:00
dirvote.c manually backport a5232e0c4c 2011-10-26 17:11:52 -04:00
dirvote.h Merge remote-tracking branch 'origin/maint-0.2.2' 2011-09-07 14:51:55 -04:00
dns.c Change "reverse_lookup_name" functions to refer to "PTR_name"s 2011-10-11 11:48:21 -04:00
dns.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
dnsserv.c Merge remote-tracking branch 'public/split_entry_conn' 2011-09-07 14:13:57 -04:00
dnsserv.h Move entry-only fields from edge_connection_t to entry_connection_t 2011-07-21 11:15:25 -04:00
eventdns.c Rewrite comment at head of eventdns.c 2011-11-09 00:23:44 -05:00
eventdns.h Use a 64-bit type to hold sockets on win64. 2011-05-23 00:17:48 -04:00
eventdns_tor.h Bump copyright statements to 2011 2011-01-03 11:50:39 -05:00
geoip.c Check for jumping clock in *format_*stats functions 2011-10-21 11:21:42 -04:00
geoip.h Clean up bridge-stats code. 2011-08-04 21:18:19 +02:00
hibernate.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-10-28 09:53:23 -04:00
hibernate.h Merge remote-tracking branch 'public/bug2003_nm' 2011-10-07 16:43:45 -04:00
main.c New UserspaceIOCPBuffers option to set SO_{SND,RCV}BUF to zero 2011-11-18 17:43:03 -05:00
main.h Add a new isolation type and field: "nym epoch" 2011-07-19 01:58:45 -04:00
Makefile.am Merge remote-tracking branch 'asn2/bug3656' 2011-10-07 16:05:13 -04:00
Makefile.nmake Initial patch to build Tor with msvc and nmake 2011-08-01 12:36:59 -04:00
microdesc.c Add some debugging code to microdesc.[ch] 2011-09-28 14:13:49 -04:00
microdesc.h Add some debugging code to microdesc.[ch] 2011-09-28 14:13:49 -04:00
networkstatus.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-09-07 14:51:55 -04:00
networkstatus.h Make the get_options() return const 2011-06-14 13:17:06 -04:00
nodelist.c Make sure the microdesc cache is loaded before setting a v3 md consensus 2011-09-28 14:19:39 -04:00
nodelist.h Rename and tweak nodelist_add_node_family() to add node 2011-07-11 11:21:47 -04:00
ntmain.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-03-16 17:09:32 -04:00
ntmain.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
onion.c Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcmp_022 2011-05-11 16:24:29 -04:00
onion.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
or.h New UserspaceIOCPBuffers option to set SO_{SND,RCV}BUF to zero 2011-11-18 17:43:03 -05:00
policies.c Remove compare_addr_to_node_policy 2011-07-15 13:04:12 -04:00
policies.h Remove compare_addr_to_node_policy 2011-07-15 13:04:12 -04:00
reasons.c Send END_STREAM_REASON_NOROUTE: clients that didn't grok it are now obsolete 2011-03-28 13:42:59 -04:00
reasons.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
relay.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-09-09 12:58:12 -04:00
relay.h Make the get_options() return const 2011-06-14 13:17:06 -04:00
rendclient.c Merge remote-tracking branch 'rransom-tor/bug4411' 2011-11-07 11:57:07 -05:00
rendclient.h Merge remote-tracking branch 'rransom-tor/bug3335-v2' 2011-10-03 15:06:07 -04:00
rendcommon.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-07-01 12:56:40 -04:00
rendcommon.h Merge remote-tracking branch 'origin/maint-0.2.2' 2011-05-16 14:50:53 -04:00
rendmid.c Merge remote-tracking branch 'public/3122_memcmp_squashed' into bug3122_memcmp_022 2011-05-11 16:24:29 -04:00
rendmid.h Bump copyright statements to 2011 (0.2.2) 2011-01-03 11:52:09 -05:00
rendservice.c Fix a couple of memory leaks in rend_add_service spotted by coverity 2011-11-17 17:14:49 -05:00
rendservice.h Make the get_options() return const 2011-06-14 13:17:06 -04:00
rephist.c Avoid likely memory fragmentation from rep_hist_note_descs_served 2011-10-25 17:53:26 -04:00
rephist.h Add new stats type: descriptor fetch stats 2011-10-21 11:21:42 -04:00
router.c fix trivial typo 2011-11-16 18:10:13 -05:00
router.h Report reason for generating descriptor in an HTTP header 2011-09-07 15:03:28 -04:00
routerlist.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-09-09 12:58:12 -04:00
routerlist.h Remove compare_addr_to_node_policy 2011-07-15 13:04:12 -04:00
routerparse.c Merge remote-tracking branch 'origin/maint-0.2.2' 2011-11-07 10:44:02 -05:00
routerparse.h Make tor_version_same_series non-static 2011-10-26 23:36:30 +02:00
status.c Clarify the heartbeat message a bit. 2011-08-27 18:45:54 +02:00
status.h Implement more heartbeat message stuff. 2011-02-22 12:40:38 -05:00
tor_main.c Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2 2011-01-03 11:51:17 -05:00
transports.c Fix names of functions that convert strings to addrs 2011-10-11 11:30:12 -04:00
transports.h Make it compile on Windows™. 2011-10-07 15:44:44 +02:00