diff options
Diffstat (limited to 'src/FileEntry.h')
| -rw-r--r-- | src/FileEntry.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/FileEntry.h b/src/FileEntry.h index 3d9106e9..93137fb7 100644 --- a/src/FileEntry.h +++ b/src/FileEntry.h @@ -70,6 +70,8 @@ private: std::deque<URIResult> _uriResults; Logger* _logger; + + void storePool(const SharedHandle<Request>& request); public: FileEntry(); @@ -158,6 +160,11 @@ public: // and return the Request object. SharedHandle<Request> getRequest(const SharedHandle<URISelector>& selector); + // Finds pooled Request object which is faster than passed one, + // comparing their PeerStat objects. If such Request is found, it is + // removed from the pool and returned. + SharedHandle<Request> findFasterRequest(const SharedHandle<Request>& base); + void poolRequest(const SharedHandle<Request>& request); bool removeRequest(const SharedHandle<Request>& request); @@ -167,6 +174,11 @@ public: return _inFlightRequests.size(); } + size_t countPooledRequest() const + { + return _requestPool.size(); + } + bool operator<(const FileEntry& fileEntry) const; bool exists() const; |
