mirror of
https://github.com/matrix-construct/construct
synced 2024-09-30 04:38:52 +02:00
modules/federation/sender: Fix event_id regression.
This commit is contained in:
parent
9fc5f86886
commit
63a238fa76
1 changed files with 24 additions and 4 deletions
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#include "sender.int.h"
|
#include "sender.int.h"
|
||||||
|
|
||||||
|
|
||||||
std::list<txn> txns;
|
std::list<txn> txns;
|
||||||
std::map<std::string, node, std::less<>> nodes;
|
std::map<std::string, node, std::less<>> nodes;
|
||||||
|
|
||||||
|
@ -54,7 +53,7 @@ IRCD_MODULE
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
std::deque<std::string>
|
std::deque<std::pair<std::string, m::event::id::buf>>
|
||||||
notified_queue;
|
notified_queue;
|
||||||
|
|
||||||
ctx::dock
|
ctx::dock
|
||||||
|
@ -80,7 +79,14 @@ handle_notify(const m::event &event,
|
||||||
if(!eval.opts->notify_servers)
|
if(!eval.opts->notify_servers)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
notified_queue.emplace_back(json::strung{event});
|
const m::event::id::buf &event_id
|
||||||
|
{
|
||||||
|
event.event_id?
|
||||||
|
m::event::id::buf{event.event_id}:
|
||||||
|
m::event::id::buf{}
|
||||||
|
};
|
||||||
|
|
||||||
|
notified_queue.emplace_back(json::strung{event}, event_id);
|
||||||
notified_dock.notify_all();
|
notified_dock.notify_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,9 +107,14 @@ send_worker()
|
||||||
notified_queue.pop_front();
|
notified_queue.pop_front();
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
const auto &[event_, event_id]
|
||||||
|
{
|
||||||
|
notified_queue.front()
|
||||||
|
};
|
||||||
|
|
||||||
const m::event event
|
const m::event event
|
||||||
{
|
{
|
||||||
json::object{notified_queue.front()}
|
json::object{event_}, event_id
|
||||||
};
|
};
|
||||||
|
|
||||||
send(event);
|
send(event);
|
||||||
|
@ -268,6 +279,15 @@ try
|
||||||
const unwind::nominal::assertion na;
|
const unwind::nominal::assertion na;
|
||||||
curtxn = &txns.back();
|
curtxn = &txns.back();
|
||||||
q.clear();
|
q.clear();
|
||||||
|
log::debug
|
||||||
|
{
|
||||||
|
m::log, "sending txn %s pdus:%zu edus:%zu to '%s'",
|
||||||
|
curtxn->txnid,
|
||||||
|
pdus,
|
||||||
|
edus,
|
||||||
|
this->remote,
|
||||||
|
};
|
||||||
|
|
||||||
recv_action.notify_one();
|
recv_action.notify_one();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue