Re-use Request, instead of re-create. Add asan target.

This commit is contained in:
flamingcow
2019-05-07 22:56:00 -07:00
parent c571e47bae
commit a4171b0ae1
9 changed files with 37 additions and 24 deletions

View File

@@ -13,7 +13,7 @@ namespace firecgi {
class Connection {
public:
Connection(int sock, const sockaddr_in6& client_addr, const std::function<void(std::unique_ptr<Request>)>& callback, const std::unordered_set<std::string_view>& headers);
Connection(int sock, const sockaddr_in6& client_addr, const std::function<void(Request*)>& callback, const std::unordered_set<std::string_view>& headers);
~Connection();
[[nodiscard]] int Read();
@@ -21,14 +21,13 @@ class Connection {
private:
const int sock_;
const std::function<void(std::unique_ptr<Request>)>& callback_;
const std::function<void(Request*)>& callback_;
const std::unordered_set<std::string_view>& headers_;
firebuf::StreamBuffer buf_;
Request request_;
uint64_t requests_ = 0;
firebuf::StreamBuffer buf_;
std::unique_ptr<Request> request_;
};
} // namespace firecgi