tor
master
|
Header file for cpuworker.c. More...
Go to the source code of this file.
Functions | |
void | cpu_init (void) |
void | cpuworkers_rotate_keyinfo (void) |
MOCK_DECL (struct workqueue_entry_s *, cpuworker_queue_work,(enum workqueue_priority_t priority, enum workqueue_reply_t(*fn)(void *, void *), void(*reply_fn)(void *), void *arg)) | |
int | assign_onionskin_to_cpuworker (or_circuit_t *circ, struct create_cell_t *onionskin) |
uint64_t | estimated_usec_for_onionskins (uint32_t n_requests, uint16_t onionskin_type) |
void | cpuworker_log_onionskin_overhead (int severity, int onionskin_type, const char *onionskin_type_name) |
void | cpuworker_cancel_circ_handshake (or_circuit_t *circ) |
Header file for cpuworker.c.
int assign_onionskin_to_cpuworker | ( | or_circuit_t * | circ, |
create_cell_t * | onionskin | ||
) |
Try to tell a cpuworker to perform the public key operations necessary to respond to onionskin for the circuit circ.
Return 0 if we successfully assign the task, or -1 on failure.
void cpu_init | ( | void | ) |
Initialize the cpuworker subsystem. It is OK to call this more than once during Tor's lifetime.
void cpuworker_cancel_circ_handshake | ( | or_circuit_t * | circ | ) |
If circ has a pending handshake that hasn't been processed yet, remove it from the worker queue.
void cpuworker_log_onionskin_overhead | ( | int | severity, |
int | onionskin_type, | ||
const char * | onionskin_type_name | ||
) |
If we've measured overhead for onionskins of type onionskin_type, log it.
void cpuworkers_rotate_keyinfo | ( | void | ) |
Called when the onion key has changed so update all CPU worker(s) with new function pointers with which a new state will be generated.
uint64_t estimated_usec_for_onionskins | ( | uint32_t | n_requests, |
uint16_t | onionskin_type | ||
) |
Return an estimate of how many microseconds we will need for a single cpuworker to process n_requests onionskins of type onionskin_type.