backfill
get_missing_events
Given that backfill and get_missing_events are basically the same thing, it's somewhat crazy that we have entirely separate code paths for them. This makes backfill use the existing get_missing_events code, and then clears up all the unused code.
synapse/
defer.ensureDeferred
ObservableDeferred
get_userinfo_by_id
ModuleApi