mirror of
https://github.com/matrix-construct/construct
synced 2024-09-27 11:18:51 +02:00
modules/federation/sender: Use preallocated response content buffer.
This commit is contained in:
parent
6f66ff5bac
commit
56ea0a14af
1 changed files with 9 additions and 3 deletions
|
@ -39,24 +39,29 @@ struct txndata
|
|||
{}
|
||||
};
|
||||
|
||||
struct txn
|
||||
struct alignas(32_KiB) txn
|
||||
:txndata
|
||||
,m::fed::send
|
||||
{
|
||||
struct node *node;
|
||||
steady_point timeout;
|
||||
char headers[8_KiB];
|
||||
char buf[31_KiB];
|
||||
|
||||
txn(struct node &node,
|
||||
std::string content,
|
||||
m::fed::send::opts opts)
|
||||
:txndata{std::move(content)}
|
||||
,send{this->txnid, string_view{this->content}, this->headers, std::move(opts)}
|
||||
,send{this->txnid, string_view{this->content}, this->buf, std::move(opts)}
|
||||
,node{&node}
|
||||
,timeout{now<steady_point>()} //TODO: conf
|
||||
{}
|
||||
};
|
||||
|
||||
static_assert
|
||||
(
|
||||
sizeof(struct txn) == 32_KiB
|
||||
);
|
||||
|
||||
struct node
|
||||
{
|
||||
std::deque<std::shared_ptr<unit>> q;
|
||||
|
@ -448,6 +453,7 @@ try
|
|||
|
||||
m::fed::send::opts opts;
|
||||
opts.remote = remote;
|
||||
opts.dynamic = false;
|
||||
opts.sopts = &sopts;
|
||||
|
||||
const vector_view<const json::value> pduv
|
||||
|
|
Loading…
Reference in a new issue