summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2010-04-04 03:34:42 +0200
committerNick Mathewson <nickm@torproject.org>2010-09-27 14:22:18 -0400
commit865bea3b895831a486b024e90f58d72d025ce284 (patch)
tree2e41a80cff9959d8b25f896b0d82398ab4b1ea16
parentbeb52352f2aeefb69ae2ee67e4e456346e28e40e (diff)
downloadtor-865bea3b895831a486b024e90f58d72d025ce284.tar.gz
tor-865bea3b895831a486b024e90f58d72d025ce284.zip
Some bufferevents related fixes and pointers for nickm
-rw-r--r--src/common/compat_libevent.c4
-rw-r--r--src/common/tortls.c2
-rw-r--r--src/or/buffers.c5
-rw-r--r--src/or/connection.c3
4 files changed, 9 insertions, 5 deletions
diff --git a/src/common/compat_libevent.c b/src/common/compat_libevent.c
index 2ae280e669..ee8b5b561b 100644
--- a/src/common/compat_libevent.c
+++ b/src/common/compat_libevent.c
@@ -554,7 +554,9 @@ periodic_timer_free(periodic_timer_t *timer)
#ifdef USE_BUFFEREVENTS
static const struct timeval *one_tick = NULL;
/**
- DOCDOC
+ * Return a special timeout to be passed whenever libevent's O(1) timeout
+ * implementation should be used. Only use this when the timer is supposed
+ * to fire after 1 / TOR_LIBEVENT_TICKS_PER_SECOND seconds have passed.
*/
const struct timeval *tor_libevent_get_one_tick_timeout(void)
{
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 3ae3ef8835..fb2e9ed499 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1206,7 +1206,7 @@ tor_tls_handshake(tor_tls_t *tls)
}
/** Perform the final part of the intial TLS handshake on <b>tls</b>. This
- * should be called for the first handshake only: it determiens whether the v1
+ * should be called for the first handshake only: it determines whether the v1
* or the v2 handshake was used, and adjusts things for the renegotiation
* handshake as appropriate.
*
diff --git a/src/or/buffers.c b/src/or/buffers.c
index eaa7427848..a256f29c00 100644
--- a/src/or/buffers.c
+++ b/src/or/buffers.c
@@ -1017,7 +1017,7 @@ fetch_var_cell_from_buf(buf_t *buf, var_cell_t **out, int linkproto)
#ifdef USE_BUFFEREVENTS
/** Try to read <b>n</b> bytes from <b>buf</b> at <b>pos</b> (which may be
- * NULL for the start fo the buffer), copying the data only if necessary. Set
+ * NULL for the start of the buffer), copying the data only if necessary. Set
* *<b>data</b> to a pointer to the desired bytes. Set <b>free_out</b> to 1
* if we needed to malloc *<b>data</b> because the original bytes were
* noncontiguous; 0 otherwise. Return the number of bytes actually available
@@ -1359,6 +1359,7 @@ fetch_from_buf_http(buf_t *buf,
}
#ifdef USE_BUFFEREVENTS
+/** As fetch_from_buf_http, buf works on an evbuffer. */
int
fetch_from_evbuffer_http(struct evbuffer *buf,
char **headers_out, size_t max_headerlen,
@@ -1564,7 +1565,7 @@ fetch_from_evbuffer_socks(struct evbuffer *buf, socks_request_t *req,
* at a buffer's contents, we look at the <b>datalen</b> bytes of data in
* <b>data</b>. Instead of removing data from the buffer, we set
* <b>drain_out</b> to the amount of data that should be removed (or -1 if the
- * buffer should be cleared. Instead of pulling more data into the first
+ * buffer should be cleared). Instead of pulling more data into the first
* chunk of the buffer, we set *<b>want_length_out</b> to the number of bytes
* we'd like to see in the input buffer. */
static int
diff --git a/src/or/connection.c b/src/or/connection.c
index b6f0d5d69d..c9a730859a 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -2908,7 +2908,8 @@ int
connection_fetch_from_buf(char *string, size_t len, connection_t *conn)
{
IF_HAS_BUFFEREVENT(conn, {
- return bufferevent_read(conn->bufev, string, len);
+ /* XXX overflow -seb */
+ return (int)bufferevent_read(conn->bufev, string, len);
}) ELSE_IF_NO_BUFFEREVENT {
return fetch_from_buf(string, len, conn->inbuf);
}