Track streams

This commit is contained in:
flamingcow
2019-05-11 22:27:33 -07:00
parent 1f84aa25b6
commit 79709c5b25
5 changed files with 50 additions and 9 deletions

View File

@@ -26,6 +26,19 @@ void Server::OnRequest(firecgi::Request* request) {
request->WriteHeader("X-Accel-Buffering", "no");
request->WriteBody("");
auto stream = new Stream(request);
{
std::lock_guard l(mu_);
streams_.insert(stream);
request->OnClose([this, stream]() {
std::lock_guard l(mu_);
stream->Close();
streams_.erase(stream);
delete stream;
});
}
callback_(stream);
}