diff --git a/include/ircd/m/acquire.h b/include/ircd/m/acquire.h index b86d2b801..269e604ff 100644 --- a/include/ircd/m/acquire.h +++ b/include/ircd/m/acquire.h @@ -29,4 +29,8 @@ struct ircd::m::acquire::opts string_view hint; bool hint_only {false}; + + bool head {false}; + + bool missing {false}; }; diff --git a/matrix/acquire.cc b/matrix/acquire.cc index 4c25212fa..4eadcd980 100644 --- a/matrix/acquire.cc +++ b/matrix/acquire.cc @@ -29,11 +29,17 @@ ircd::m::acquire::log ircd::m::acquire::acquire::acquire(const room &room, const opts &opts) { - handle_room(room, opts); - ctx::interruption_point(); + if(opts.head) + { + handle_room(room, opts); + ctx::interruption_point(); + } - handle_missing(room, opts); - ctx::interruption_point(); + if(opts.missing) + { + handle_missing(room, opts); + ctx::interruption_point(); + } } //