mirror of
https://github.com/matrix-construct/construct
synced 2024-11-29 10:12:39 +01:00
ircd:Ⓜ️:room::events: Add prefetch() convenience to interface.
This commit is contained in:
parent
b6b630c3d1
commit
b3f646b478
2 changed files with 30 additions and 14 deletions
|
@ -71,6 +71,9 @@ struct ircd::m::room::events
|
||||||
const m::event &fetch(std::nothrow_t);
|
const m::event &fetch(std::nothrow_t);
|
||||||
const m::event &fetch();
|
const m::event &fetch();
|
||||||
|
|
||||||
|
bool prefetch(const string_view &event_prop);
|
||||||
|
bool prefetch(); // uses property keys from any fetch::opts supplied.
|
||||||
|
|
||||||
bool seek_idx(const event::idx &);
|
bool seek_idx(const event::idx &);
|
||||||
bool seek(const uint64_t &depth = -1);
|
bool seek(const uint64_t &depth = -1);
|
||||||
bool seek(const event::id &);
|
bool seek(const event::id &);
|
||||||
|
|
|
@ -1800,6 +1800,33 @@ catch(const db::not_found &e)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
ircd::m::room::events::prefetch()
|
||||||
|
{
|
||||||
|
assert(_event.fopts);
|
||||||
|
return m::prefetch(event_idx(), *_event.fopts);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
ircd::m::room::events::prefetch(const string_view &event_prop)
|
||||||
|
{
|
||||||
|
return m::prefetch(event_idx(), event_prop);
|
||||||
|
}
|
||||||
|
|
||||||
|
const ircd::m::event &
|
||||||
|
ircd::m::room::events::fetch()
|
||||||
|
{
|
||||||
|
m::seek(_event, event_idx());
|
||||||
|
return _event;
|
||||||
|
}
|
||||||
|
|
||||||
|
const ircd::m::event &
|
||||||
|
ircd::m::room::events::fetch(std::nothrow_t)
|
||||||
|
{
|
||||||
|
m::seek(_event, event_idx(), std::nothrow);
|
||||||
|
return _event;
|
||||||
|
}
|
||||||
|
|
||||||
ircd::m::room::events::operator
|
ircd::m::room::events::operator
|
||||||
ircd::m::event::idx()
|
ircd::m::event::idx()
|
||||||
const
|
const
|
||||||
|
@ -1840,20 +1867,6 @@ const
|
||||||
return std::get<1>(part);
|
return std::get<1>(part);
|
||||||
}
|
}
|
||||||
|
|
||||||
const ircd::m::event &
|
|
||||||
ircd::m::room::events::fetch()
|
|
||||||
{
|
|
||||||
m::seek(_event, event_idx());
|
|
||||||
return _event;
|
|
||||||
}
|
|
||||||
|
|
||||||
const ircd::m::event &
|
|
||||||
ircd::m::room::events::fetch(std::nothrow_t)
|
|
||||||
{
|
|
||||||
m::seek(_event, event_idx(), std::nothrow);
|
|
||||||
return _event;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// room::state
|
// room::state
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in a new issue