mirror of
https://github.com/matrix-construct/construct
synced 2024-11-15 22:41:12 +01:00
ircd::buffer: Increase restrictions for unique_buffer<>.
This commit is contained in:
parent
15bd7282c7
commit
541dbadf2f
3 changed files with 11 additions and 9 deletions
|
@ -24,12 +24,12 @@ struct ircd::buffer::unique_buffer
|
|||
{
|
||||
buffer release();
|
||||
|
||||
unique_buffer() = default;
|
||||
unique_buffer(const size_t &size, const size_t &align = 0);
|
||||
explicit unique_buffer(const buffer &);
|
||||
unique_buffer() = default;
|
||||
unique_buffer(unique_buffer &&) noexcept;
|
||||
explicit unique_buffer(unique_buffer &&) noexcept;
|
||||
unique_buffer(const unique_buffer &) = delete;
|
||||
unique_buffer &operator=(unique_buffer &&) noexcept;
|
||||
unique_buffer &operator=(unique_buffer &&) & noexcept;
|
||||
unique_buffer &operator=(const unique_buffer &) = delete;
|
||||
~unique_buffer() noexcept;
|
||||
};
|
||||
|
@ -58,8 +58,7 @@ ircd::buffer::unique_buffer<buffer>::unique_buffer(const size_t &size,
|
|||
{
|
||||
aligned_alloc(align, size).release(), size
|
||||
}
|
||||
{
|
||||
}
|
||||
{}
|
||||
|
||||
template<class buffer>
|
||||
ircd::buffer::unique_buffer<buffer>::unique_buffer(unique_buffer &&other)
|
||||
|
@ -75,7 +74,7 @@ noexcept
|
|||
template<class buffer>
|
||||
ircd::buffer::unique_buffer<buffer> &
|
||||
ircd::buffer::unique_buffer<buffer>::operator=(unique_buffer &&other)
|
||||
noexcept
|
||||
& noexcept
|
||||
{
|
||||
this->~unique_buffer();
|
||||
|
||||
|
|
|
@ -339,9 +339,9 @@ download(const mutable_buffer &head_buf,
|
|||
parse::buffer pb{remote_request.in.head};
|
||||
parse::capstan pc{pb};
|
||||
pc.read += size(remote_request.in.head);
|
||||
return
|
||||
return std::pair<http::response::head, unique_buffer<mutable_buffer>>
|
||||
{
|
||||
http::response::head{pc}, std::move(remote_request.in.dynamic)
|
||||
pc, std::move(remote_request.in.dynamic)
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -159,5 +159,8 @@ request_url(const string_view &urle)
|
|||
return {};
|
||||
|
||||
assert(data(request.in.content) == data(request.in.dynamic));
|
||||
return std::move(request.in.dynamic);
|
||||
return unique_buffer<mutable_buffer>
|
||||
{
|
||||
std::move(request.in.dynamic)
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue