int type, size_t in_bytes, size_t out_bytes)
{
edge_connection_t *conn;
+ generic_buffer_t *inbuf, *outbuf;
if (type == CONN_TYPE_EXIT)
conn = edge_connection_new(type, AF_INET);
else
conn = ENTRY_TO_EDGE_CONN(entry_connection_new(type, AF_INET));
+#ifdef USE_BUFFEREVENTS
+ inbuf = bufferevent_get_input(TO_CONN(conn)->bufev);
+ outbuf = bufferevent_get_output(TO_CONN(conn)->bufev);
+#else
+ inbuf = TO_CONN(conn)->inbuf;
+ outbuf = TO_CONN(conn)->outbuf;
+#endif
+
/* We add these bytes directly to the buffers, to avoid all the
* edge connection read/write machinery. */
- add_bytes_to_buf(TO_CONN(conn)->inbuf, in_bytes);
- add_bytes_to_buf(TO_CONN(conn)->outbuf, out_bytes);
+ add_bytes_to_buf(inbuf, in_bytes);
+ add_bytes_to_buf(outbuf, out_bytes);
conn->on_circuit = circ;
if (type == CONN_TYPE_EXIT) {