mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
Some bufferevents related fixes and pointers for nickm
This commit is contained in:
parent
beb52352f2
commit
865bea3b89
@ -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)
|
||||
{
|
||||
|
@ -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.
|
||||
*
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user