summaryrefslogtreecommitdiff
path: root/src/or/periodic.c
AgeCommit message (Collapse)Author
2018-07-05Move literally everything out of src/orNick Mathewson
This commit won't build yet -- it just puts everything in a slightly more logical place. The reasoning here is that "src/core" will hold the stuff that every (or nearly every) tor instance will need in order to do onion routing. Other features (including some necessary ones) will live in "src/feature". The "src/app" directory will hold the stuff needed to have Tor be an application you can actually run. This commit DOES NOT refactor the former contents of src/or into a logical set of acyclic libraries, or change any code at all. That will have to come in the future. We will continue to move things around and split them in the future, but I hope this lays a reasonable groundwork for doing so.
2018-07-05Clean up include paths for libtor-evloop (automated)Nick Mathewson
2018-07-01Remove needless includes from or.hNick Mathewson
or.h should really include only the minimum of stuff from or/*, common/*, and lib/*.
2018-06-20Run rectify_include_paths.pyNick Mathewson
2018-06-20Update copyrights to 2018.Nick Mathewson
2018-05-03Add update_current_time() calls to periodic and event-driven callbacksNick Mathewson
This is part of 26009, where we're going to keep track of the current time and its jumps without having to do so in second_elapsed_callback.
2018-04-23periodic: Add an enable and disable functionDavid Goulet
Two helper functions to enable an event and disable an event which wraps the launch and destroy of an event but takes care of the enabled flag. They are also idempotent that is can be called multiple time on the same event without effect if the event was already enabled or disabled. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-23main: Launch periodic events by rolesDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-05Add an API for a scheduled/manually activated event in the mainloopNick Mathewson
Using this API lets us remove event2/event.h usage from half a dozen modules, to better isolate libevent. Implements part of ticket 23750.
2017-03-15Run the copyright update script.Nick Mathewson
2016-10-17Write a bunch of module documentation.Nick Mathewson
This commit adds or improves the module-level documenation for: buffers.c circuitstats.c command.c connection_edge.c control.c cpuworker.c crypto_curve25519.c crypto_curve25519.h crypto_ed25519.c crypto_format.c dircollate.c dirserv.c dns.c dns_structs.h fp_pair.c geoip.c hibernate.c keypin.c ntmain.c onion.c onion_fast.c onion_ntor.c onion_tap.c periodic.c protover.c protover.h reasons.c rephist.c replaycache.c routerlist.c routerparse.c routerset.c statefile.c status.c tor_main.c workqueue.c In particular, I've tried to explain (for each documented module) what each module does, what's in it, what the big idea is, why it belongs in Tor, and who calls it. In a few cases, I've added TODO notes about refactoring opportunities. I've also renamed an argument, and fixed a few DOCDOC comments.
2016-07-04Raise libevent dependency to 2.0.10-stable or newerSebastian Hahn
Only some very ancient distributions don't ship with Libevent 2 anymore, even the oldest supported Ubuntu LTS version has it. This allows us to get rid of a lot of compat code.
2016-04-05quiet debug logs from periodic_event_dispatch()Roger Dingledine
Stop blasting twelve lines per second from periodic_event_dispatch() at loglevel debug. Resolves ticket 18729; fix on 0.2.8.1-alpha.
2016-02-27Update the copyright year.Nick Mathewson
2016-02-27Make sure that every module in src/or has a brief description.Nick Mathewson
2015-11-17Some unit tests now require that periodic events be initialized.Nick Mathewson
2015-11-17Changes to 3199 branch based on feedback from specialNick Mathewson
2015-11-16Add documentation for periodic event apiNick Mathewson
2015-11-13Change periodic.c to use libevent directlyNick Mathewson
Libevent's periodic timers aren't the right solution when the timeout potentially changes every time.
2015-11-13fix whitespace; remove dead codeNick Mathewson
2015-11-13Infrastructure for replacing global periodic events in main.cKevin Butler
(This is from Kevin's bug3199 patch series; nick extracted it into a new file and changed the interface a little, then did some API tweaks on it.)