void HttpServer::destroy(ConnectionPtr connection, bool release) { connection->markToBeDeleted(); { std::lock_guard<std::mutex> lock(connections_mutex_); auto it = std::find_if(std::begin(connections_), std::end(connections_), [&](ConnectionPtr conn) { return connection == conn; }); if (it == std::end(connections_)) { return; } else { --connection_count_; connections_.erase(it); } } if (release) { HTTP::Connection::release(connection); } }