tor  master
Functions
cpuworker.h File Reference

Header file for cpuworker.c. More...

This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

Header file for cpuworker.c.

Function Documentation

◆ assign_onionskin_to_cpuworker()

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.

◆ cpu_init()

void cpu_init ( void  )

Initialize the cpuworker subsystem. It is OK to call this more than once during Tor's lifetime.

Here is the call graph for this function:

◆ cpuworker_cancel_circ_handshake()

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.

Here is the call graph for this function:

◆ cpuworker_log_onionskin_overhead()

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.

◆ cpuworkers_rotate_keyinfo()

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.

Here is the call graph for this function:

◆ estimated_usec_for_onionskins()

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.