mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-02 11:55:42 +02:00
Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods
faa59b3679util: Add Expected::swap() (MarcoFalke)fabb47e4e3util: Implement Expected::operator*()&& (MarcoFalke)fab9721430util: Implement Expected::value()&& and Expected::error()&& (MarcoFalke)fac4800959util: Add Expected<void, E> specialization (MarcoFalke)fa6575d6c2util: Make Expected::value() throw (MarcoFalke)fa1de1103futil: Add Unexpected::error() (MarcoFalke)faa109f8betest: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == (MarcoFalke)fad4a9fe2bSet bugprone-unused-return-value.AllowCastToVoid (MarcoFalke) Pull request description: Reviewers requested more member functions In https://github.com/bitcoin/bitcoin/pull/34006. They are currently unused, but bring the port closer to the original `std::expected` implementation: * Make `Expected::value()` throw when no value exists * Add `Unexpected::error()` methods * Add `Expected<void, E>` specialization * Add `Expected::value()&&` and `Expected::error()&&` methods * Add `Expected::swap()` Also, include a tiny tidy fixup: * tidy: Set `AllowCastToVoid` in the `bugprone-unused-return-value` check ACKs for top commit: stickies-v: re-ACKfaa59b3679ryanofsky: Code review ACKfaa59b3679. Thanks for the update. The commit I objected to is fixed now and the rest of the implementation seems good enough for code that's probably temporary. hodlinator: re-ACKfaa59b3679Tree-SHA512: b6ac28c1e7241837d9db83fe7534d713ca1283c20a77d2273743157d329f041ec0b503658d14b2f4425211808b61a88fed115d77149e0546825acd3bd9198edf
This commit is contained in:
@@ -330,7 +330,7 @@ static void http_request_cb(struct evhttp_request* req, void* arg)
|
||||
std::unique_ptr<HTTPWorkItem> item(new HTTPWorkItem(std::move(hreq), path, i->handler));
|
||||
assert(g_work_queue);
|
||||
if (g_work_queue->Enqueue(item.get())) {
|
||||
[[maybe_unused]] auto _{item.release()}; /* if true, queue took ownership */
|
||||
(void)item.release(); /* if true, queue took ownership */
|
||||
} else {
|
||||
LogWarning("Request rejected because http work queue depth exceeded, it can be increased with the -rpcworkqueue= setting");
|
||||
item->req->WriteReply(HTTP_SERVICE_UNAVAILABLE, "Work queue depth exceeded");
|
||||
|
||||
Reference in New Issue
Block a user