Loading src/or/circuit.c +4 −0 Original line number Diff line number Diff line Loading @@ -405,6 +405,10 @@ void circuit_resume_edge_reading(circuit_t *circ, int edge_type, crypt_path_t *l (edge_type == EDGE_AP && conn->package_window > 0 && conn->cpath_layer == layer_hint)) { connection_start_reading(conn); connection_package_raw_inbuf(conn); /* handle whatever might still be on the inbuf */ /* If the circuit won't accept any more data, return without looking * at any more of the streams. Any connections that should be stopped * have already been stopped by connection_package_raw_inbuf. */ if(circuit_consider_stop_edge_reading(circ, edge_type, layer_hint)) return; } Loading src/or/connection.c +7 −7 Original line number Diff line number Diff line Loading @@ -564,6 +564,7 @@ int connection_package_raw_inbuf(connection_t *conn) { assert(!connection_speaks_cells(conn)); repeat_connection_package_raw_inbuf: assert(conn->package_window > 0); circ = circuit_get_by_conn(conn); if(!circ) { Loading Loading @@ -620,13 +621,12 @@ repeat_connection_package_raw_inbuf: } assert(conn->package_window > 0); conn->package_window--; // if(--conn->package_window <= 0) { /* is it 0 after decrement? */ // connection_stop_reading(conn); // log_fn(LOG_DEBUG,"conn->package_window reached 0."); // circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer); // return 0; /* don't process the inbuf any more */ // } if(--conn->package_window <= 0) { /* is it 0 after decrement? */ connection_stop_reading(conn); log_fn(LOG_DEBUG,"conn->package_window reached 0."); circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer); return 0; /* don't process the inbuf any more */ } log_fn(LOG_DEBUG,"conn->package_window is now %d",conn->package_window); /* handle more if there's more, or return 0 if there isn't */ Loading Loading
src/or/circuit.c +4 −0 Original line number Diff line number Diff line Loading @@ -405,6 +405,10 @@ void circuit_resume_edge_reading(circuit_t *circ, int edge_type, crypt_path_t *l (edge_type == EDGE_AP && conn->package_window > 0 && conn->cpath_layer == layer_hint)) { connection_start_reading(conn); connection_package_raw_inbuf(conn); /* handle whatever might still be on the inbuf */ /* If the circuit won't accept any more data, return without looking * at any more of the streams. Any connections that should be stopped * have already been stopped by connection_package_raw_inbuf. */ if(circuit_consider_stop_edge_reading(circ, edge_type, layer_hint)) return; } Loading
src/or/connection.c +7 −7 Original line number Diff line number Diff line Loading @@ -564,6 +564,7 @@ int connection_package_raw_inbuf(connection_t *conn) { assert(!connection_speaks_cells(conn)); repeat_connection_package_raw_inbuf: assert(conn->package_window > 0); circ = circuit_get_by_conn(conn); if(!circ) { Loading Loading @@ -620,13 +621,12 @@ repeat_connection_package_raw_inbuf: } assert(conn->package_window > 0); conn->package_window--; // if(--conn->package_window <= 0) { /* is it 0 after decrement? */ // connection_stop_reading(conn); // log_fn(LOG_DEBUG,"conn->package_window reached 0."); // circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer); // return 0; /* don't process the inbuf any more */ // } if(--conn->package_window <= 0) { /* is it 0 after decrement? */ connection_stop_reading(conn); log_fn(LOG_DEBUG,"conn->package_window reached 0."); circuit_consider_stop_edge_reading(circ, conn->type, conn->cpath_layer); return 0; /* don't process the inbuf any more */ } log_fn(LOG_DEBUG,"conn->package_window is now %d",conn->package_window); /* handle more if there's more, or return 0 if there isn't */ Loading