/** Set the n_conn field of a circuit <b>circ</b>, along * with the corresponding circuit ID, and add the circuit as appropriate * to the (orconn,id)-\>circuit map. */ void circuit_set_n_circid_orconn(circuit_t *circ, circid_t id, or_connection_t *conn) { circuit_set_circid_orconn_helper(circ, CELL_DIRECTION_OUT, id, conn); if (conn) tor_assert(bool_eq(circ->n_conn_cells.n, circ->next_active_on_n_conn)); }
/** Set the p_conn field of a circuit <b>circ</b>, along * with the corresponding circuit ID, and add the circuit as appropriate * to the (orconn,id)-\>circuit map. */ void circuit_set_p_circid_orconn(or_circuit_t *circ, circid_t id, or_connection_t *conn) { circuit_set_circid_orconn_helper(TO_CIRCUIT(circ), CELL_DIRECTION_IN, id, conn); if (conn) tor_assert(bool_eq(circ->p_conn_cells.n, circ->next_active_on_p_conn)); }
/** Set the n_conn field of a circuit <b>circ</b>, along * with the corresponding circuit ID, and add the circuit as appropriate * to the (orconn,id)-\>circuit map. */ void circuit_set_n_circid_orconn(circuit_t *circ, circid_t id, or_connection_t *conn) { //Josh: inform the controller that the circuit has been lost, if necessary: if (!CIRCUIT_IS_ORIGIN(circ) && circ->n_conn) { control_event_orcircuit("STATUS", "CLOSED", circ, CELL_DIRECTION_OUT); } circuit_set_circid_orconn_helper(circ, CELL_DIRECTION_OUT, id, conn); if (conn) tor_assert(bool_eq(circ->n_conn_cells.n, circ->next_active_on_n_conn)); }
/** Run unit tests for bitarray code */ static void test_container_bitarray(void *arg) { bitarray_t *ba = NULL; int i, j, ok=1; (void)arg; ba = bitarray_init_zero(1); tt_assert(ba); tt_assert(! bitarray_is_set(ba, 0)); bitarray_set(ba, 0); tt_assert(bitarray_is_set(ba, 0)); bitarray_clear(ba, 0); tt_assert(! bitarray_is_set(ba, 0)); bitarray_free(ba); ba = bitarray_init_zero(1023); for (i = 1; i < 64; ) { for (j = 0; j < 1023; ++j) { if (j % i) bitarray_set(ba, j); else bitarray_clear(ba, j); } for (j = 0; j < 1023; ++j) { if (!bool_eq(bitarray_is_set(ba, j), j%i)) ok = 0; } tt_assert(ok); if (i < 7) ++i; else if (i == 28) i = 32; else i += 7; } done: if (ba) bitarray_free(ba); }