|
Squid Web Cache master
|
Public Member Functions | |
| EntryGuard (Entry *entry, const char *context) | |
| ~EntryGuard () | |
| EntryGuard (EntryGuard &&)=delete | |
| Entry * | get () |
| void | unlockAndReset (const char *resetContext=nullptr) |
Private Member Functions | |
| void | onException () noexcept |
Private Attributes | |
| Entry * | entry_ |
| the guarded Entry or nil | |
| const char * | context_ |
| default unlock() message | |
a smart pointer similar to std::unique_ptr<> that automatically release()s and unlock()s the guarded Entry on stack-unwinding failures
|
inline |
|
inline |
Definition at line 358 of file Store.h.
References entry_, and onException().
|
delete |
|
inline |
|
privatenoexcept |
Definition at line 2100 of file store.cc.
References context_, entry_, StoreEntry::releaseRequest(), SWALLOW_EXCEPTIONS, and StoreEntry::unlock().
Referenced by ~EntryGuard().
|
inline |
like std::unique_ptr::reset() stops guarding the entry unlocks the entry (which may destroy it)
Definition at line 376 of file Store.h.
References context_, entry_, and StoreEntry::unlock().
Referenced by StoreEntry::setPublicKey().
|
private |
Definition at line 387 of file Store.h.
Referenced by onException(), and unlockAndReset().
|
private |
Definition at line 386 of file Store.h.
Referenced by EntryGuard(), ~EntryGuard(), get(), onException(), and unlockAndReset().