mainloop Directory Reference

core/mainloop: Non-onion-routing mainloop functionality



file  connection.c [code]
 General high-level functions to handle reading and writing on connections.
file  connection.h [code]
 Header file for connection.c.
file  cpuworker.c [code]
 Uses the workqueue/threadpool code to farm CPU-intensive activities out to subprocesses.
file  cpuworker.h [code]
 Header file for cpuworker.c.
file  mainloop.c [code]
 Toplevel module. Handles signals, multiplexes between connections, implements main loop, and drives scheduled events.
file  mainloop.h [code]
 Header file for mainloop.c.
file  mainloop_pubsub.c [code]
 Connect the publish-subscribe code to the main-loop.
file  mainloop_pubsub.h [code]
 Header for mainloop_pubsub.c.
file [code]
 Declare configuration options for the crypto_ops module.
file  mainloop_state_st.h [code]
 Declare a state structure for mainloop-relevant fields.
file  mainloop_sys.c [code]
 Declare the "mainloop" subsystem.
file  mainloop_sys.h [code]
 Header for mainloop_sys.c.
file  netstatus.c [code]
 Track whether the network is disabled, dormant, etc.
file  netstatus.h [code]
 Header for netstatus.c.
file  periodic.c [code]
 Generic backend for handling periodic events.
file  periodic.h [code]
 Header for periodic.c.

Detailed Description

core/mainloop: Non-onion-routing mainloop functionality

This module uses the event-loop code of lib/evloop to implement an asynchronous connection-oriented protocol handler.

The layering here is imperfect: the code here was split from core/or without refactoring how the two modules call one another. Probably many functions should be moved and refactored.