Remove second RequestDone method
This commit is contained in:
parent
845836c4f9
commit
d76069a700
@ -50,29 +50,20 @@ namespace http
|
||||
requestHandlesToRegister.clear();
|
||||
for (auto &requestHandle : requestHandlesToUnregister)
|
||||
{
|
||||
RequestDone(requestHandle);
|
||||
RequestDone(requestHandle.get());
|
||||
}
|
||||
requestHandlesToUnregister.clear();
|
||||
|
||||
return running;
|
||||
}
|
||||
|
||||
void RequestManager::RequestDone(std::shared_ptr<RequestHandle> &requestHandle)
|
||||
{
|
||||
auto toRemove = std::find(requestHandles.begin(), requestHandles.end(), requestHandle);
|
||||
if (toRemove != requestHandles.end()) RemoveRequest(toRemove);
|
||||
}
|
||||
|
||||
void RequestManager::RequestDone(RequestHandle *handle)
|
||||
{
|
||||
auto toRemove = std::find_if(requestHandles.begin(), requestHandles.end(), [handle] (const std::shared_ptr<RequestHandle> &sptr) {
|
||||
return handle == sptr.get();
|
||||
});
|
||||
RemoveRequest(toRemove);
|
||||
}
|
||||
if (toRemove == requestHandles.end()) return;
|
||||
|
||||
void RequestManager::RemoveRequest(std::vector<std::shared_ptr<RequestHandle>>::iterator toRemove) {
|
||||
assert(toRemove != requestHandles.end());
|
||||
// swap removed request to end before removing
|
||||
auto swapTo = requestHandles.end() - 1;
|
||||
std::swap(*toRemove, *swapTo);
|
||||
|
@ -29,7 +29,7 @@ namespace http
|
||||
{
|
||||
requestHandle->statusCode = 604;
|
||||
requestHandle->error = "network support not compiled in";
|
||||
RequestDone(requestHandle);
|
||||
RequestDone(requestHandle.get());
|
||||
}
|
||||
|
||||
void RequestManager::UnregisterRequestHandle(std::shared_ptr<RequestHandle> requestHandle)
|
||||
|
@ -86,12 +86,9 @@ namespace http
|
||||
std::mutex sharedStateMx;
|
||||
std::condition_variable sharedStateCv;
|
||||
|
||||
void RequestDone(std::shared_ptr<RequestHandle> &requestHandle);
|
||||
// Removes a request from the manager, marking it as done and cancelling if necessary.
|
||||
void RequestDone(RequestHandle *handle);
|
||||
|
||||
// Removes one request
|
||||
void RemoveRequest(std::vector<std::shared_ptr<RequestHandle>>::iterator toRemove);
|
||||
|
||||
protected:
|
||||
RequestManager(ByteString newProxy, ByteString newCafile, ByteString newCapath, bool newDisableNetwork);
|
||||
|
||||
|
Reference in New Issue
Block a user