Loading src/feature/dircache/dircache.c +10 −18 Original line number Diff line number Diff line Loading @@ -1068,13 +1068,11 @@ handle_get_status_vote(dir_connection_t *conn, const get_handler_args_t *args) if (compress_method != NO_METHOD) { conn->compress_state = tor_compress_new(1, compress_method, choose_compression_level(estimated_len)); SMARTLIST_FOREACH(items, const char *, c, connection_buf_add_compress(c, strlen(c), conn, 0)); connection_buf_add_compress("", 0, conn, 1); } else { SMARTLIST_FOREACH(items, const char *, c, connection_buf_add(c, strlen(c), TO_CONN(conn))); } SMARTLIST_FOREACH(items, const char *, c, connection_dir_buf_add(c, strlen(c), conn, c_sl_idx == c_sl_len - 1)); } else { SMARTLIST_FOREACH(dir_items, cached_dir_t *, d, connection_buf_add(compress_method != NO_METHOD ? Loading Loading @@ -1325,18 +1323,12 @@ handle_get_keys(dir_connection_t *conn, const get_handler_args_t *args) if (compress_method != NO_METHOD) { conn->compress_state = tor_compress_new(1, compress_method, choose_compression_level(len)); } SMARTLIST_FOREACH(certs, authority_cert_t *, c, connection_buf_add_compress( c->cache_info.signed_descriptor_body, c->cache_info.signed_descriptor_len, conn, 0)); connection_buf_add_compress("", 0, conn, 1); } else { SMARTLIST_FOREACH(certs, authority_cert_t *, c, connection_buf_add(c->cache_info.signed_descriptor_body, connection_dir_buf_add(c->cache_info.signed_descriptor_body, c->cache_info.signed_descriptor_len, TO_CONN(conn))); } conn, c_sl_idx == c_sl_len - 1)); keys_done: smartlist_free(certs); goto done; Loading src/feature/dircache/dirserv.c +7 −13 Original line number Diff line number Diff line Loading @@ -583,11 +583,9 @@ spooled_resource_flush_some(spooled_resource_t *spooled, /* Absent objects count as "done". */ return SRFS_DONE; } if (conn->compress_state) { connection_buf_add_compress((const char*)body, bodylen, conn, 0); } else { connection_buf_add((const char*)body, bodylen, TO_CONN(conn)); } connection_dir_buf_add((const char*)body, bodylen, conn, 0); return SRFS_DONE; } else { cached_dir_t *cached = spooled->cached_dir_ref; Loading Loading @@ -622,14 +620,10 @@ spooled_resource_flush_some(spooled_resource_t *spooled, if (BUG(remaining < 0)) return SRFS_ERR; ssize_t bytes = (ssize_t) MIN(DIRSERV_CACHED_DIR_CHUNK_SIZE, remaining); if (conn->compress_state) { connection_buf_add_compress( ptr + spooled->cached_dir_offset, connection_dir_buf_add(ptr + spooled->cached_dir_offset, bytes, conn, 0); } else { connection_buf_add(ptr + spooled->cached_dir_offset, bytes, TO_CONN(conn)); } spooled->cached_dir_offset += bytes; if (spooled->cached_dir_offset >= (off_t)total_len) { return SRFS_DONE; Loading Loading
src/feature/dircache/dircache.c +10 −18 Original line number Diff line number Diff line Loading @@ -1068,13 +1068,11 @@ handle_get_status_vote(dir_connection_t *conn, const get_handler_args_t *args) if (compress_method != NO_METHOD) { conn->compress_state = tor_compress_new(1, compress_method, choose_compression_level(estimated_len)); SMARTLIST_FOREACH(items, const char *, c, connection_buf_add_compress(c, strlen(c), conn, 0)); connection_buf_add_compress("", 0, conn, 1); } else { SMARTLIST_FOREACH(items, const char *, c, connection_buf_add(c, strlen(c), TO_CONN(conn))); } SMARTLIST_FOREACH(items, const char *, c, connection_dir_buf_add(c, strlen(c), conn, c_sl_idx == c_sl_len - 1)); } else { SMARTLIST_FOREACH(dir_items, cached_dir_t *, d, connection_buf_add(compress_method != NO_METHOD ? Loading Loading @@ -1325,18 +1323,12 @@ handle_get_keys(dir_connection_t *conn, const get_handler_args_t *args) if (compress_method != NO_METHOD) { conn->compress_state = tor_compress_new(1, compress_method, choose_compression_level(len)); } SMARTLIST_FOREACH(certs, authority_cert_t *, c, connection_buf_add_compress( c->cache_info.signed_descriptor_body, c->cache_info.signed_descriptor_len, conn, 0)); connection_buf_add_compress("", 0, conn, 1); } else { SMARTLIST_FOREACH(certs, authority_cert_t *, c, connection_buf_add(c->cache_info.signed_descriptor_body, connection_dir_buf_add(c->cache_info.signed_descriptor_body, c->cache_info.signed_descriptor_len, TO_CONN(conn))); } conn, c_sl_idx == c_sl_len - 1)); keys_done: smartlist_free(certs); goto done; Loading
src/feature/dircache/dirserv.c +7 −13 Original line number Diff line number Diff line Loading @@ -583,11 +583,9 @@ spooled_resource_flush_some(spooled_resource_t *spooled, /* Absent objects count as "done". */ return SRFS_DONE; } if (conn->compress_state) { connection_buf_add_compress((const char*)body, bodylen, conn, 0); } else { connection_buf_add((const char*)body, bodylen, TO_CONN(conn)); } connection_dir_buf_add((const char*)body, bodylen, conn, 0); return SRFS_DONE; } else { cached_dir_t *cached = spooled->cached_dir_ref; Loading Loading @@ -622,14 +620,10 @@ spooled_resource_flush_some(spooled_resource_t *spooled, if (BUG(remaining < 0)) return SRFS_ERR; ssize_t bytes = (ssize_t) MIN(DIRSERV_CACHED_DIR_CHUNK_SIZE, remaining); if (conn->compress_state) { connection_buf_add_compress( ptr + spooled->cached_dir_offset, connection_dir_buf_add(ptr + spooled->cached_dir_offset, bytes, conn, 0); } else { connection_buf_add(ptr + spooled->cached_dir_offset, bytes, TO_CONN(conn)); } spooled->cached_dir_offset += bytes; if (spooled->cached_dir_offset >= (off_t)total_len) { return SRFS_DONE; Loading