mirror of
https://github.com/matrix-construct/construct
synced 2024-10-04 14:48:56 +02:00
ircd:Ⓜ️:vm: Remove the depends aborted depends map fetus.
This commit is contained in:
parent
88c2a22a30
commit
71edf65c7c
2 changed files with 0 additions and 75 deletions
|
@ -33,8 +33,6 @@ namespace ircd::m::vm
|
|||
const uint64_t &sequence(const eval &);
|
||||
uint64_t retired_sequence(id::event::buf &);
|
||||
uint64_t retired_sequence();
|
||||
|
||||
ctx::future<> evaluated(const event::id &);
|
||||
}
|
||||
|
||||
/// Event Evaluation Device
|
||||
|
|
73
ircd/m/m.cc
73
ircd/m/m.cc
|
@ -398,12 +398,6 @@ ircd::m::feds::state::state(const m::room::id &room_id,
|
|||
// m/vm.h
|
||||
//
|
||||
|
||||
namespace ircd::m::vm
|
||||
{
|
||||
extern std::map<event::id::buf, ctx::promise<>> depends;
|
||||
static void notify_depends(const event::id &, std::exception_ptr);
|
||||
}
|
||||
|
||||
decltype(ircd::m::vm::log)
|
||||
ircd::m::vm::log
|
||||
{
|
||||
|
@ -426,48 +420,6 @@ decltype(ircd::m::vm::default_copts)
|
|||
ircd::m::vm::default_copts
|
||||
{};
|
||||
|
||||
decltype(ircd::m::vm::depends)
|
||||
ircd::m::vm::depends
|
||||
{};
|
||||
|
||||
void
|
||||
ircd::m::vm::notify_depends(const event::id &event_id,
|
||||
std::exception_ptr eptr)
|
||||
{
|
||||
const auto it
|
||||
{
|
||||
depends.find(event_id)
|
||||
};
|
||||
|
||||
if(it == end(depends))
|
||||
return;
|
||||
|
||||
auto &promise(it->second);
|
||||
if(eptr)
|
||||
promise.set_exception(std::move(eptr));
|
||||
else
|
||||
promise.set_value();
|
||||
|
||||
depends.erase(it);
|
||||
}
|
||||
|
||||
ircd::ctx::future<>
|
||||
ircd::m::vm::evaluated(const event::id &event_id)
|
||||
{
|
||||
if(exists(event_id))
|
||||
return ctx::future<>::already;
|
||||
|
||||
const auto iit
|
||||
{
|
||||
depends.emplace(event_id, ctx::promise<>{})
|
||||
};
|
||||
|
||||
return ctx::future<>
|
||||
{
|
||||
iit.first->second
|
||||
};
|
||||
}
|
||||
|
||||
const uint64_t &
|
||||
ircd::m::vm::sequence(const eval &eval)
|
||||
{
|
||||
|
@ -655,7 +607,6 @@ ircd::m::vm::eval::operator()(json::iov &event,
|
|||
|
||||
enum ircd::m::vm::fault
|
||||
ircd::m::vm::eval::operator()(const event &event)
|
||||
try
|
||||
{
|
||||
using prototype = fault (eval &, const m::event &);
|
||||
|
||||
|
@ -669,32 +620,8 @@ try
|
|||
function(*this, event)
|
||||
};
|
||||
|
||||
if(json::get<"event_id"_>(event)) switch(ret)
|
||||
{
|
||||
case fault::ACCEPT:
|
||||
notify_depends(at<"event_id"_>(event), std::exception_ptr{});
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
notify_depends(at<"event_id"_>(event), std::make_exception_ptr(error
|
||||
{
|
||||
ret, "fault"
|
||||
}));
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
if(json::get<"event_id"_>(event))
|
||||
notify_depends(at<"event_id"_>(event), std::current_exception());
|
||||
|
||||
throw;
|
||||
}
|
||||
|
||||
//
|
||||
// accepted
|
||||
|
|
Loading…
Reference in a new issue