#include <Store.h>
![Collaboration graph](classStore_1_1EntryGuard__coll__graph.png)
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 More... | |
const char * | context_ |
default unlock() message More... | |
Detailed Description
a smart pointer similar to std::unique_ptr<> that automatically release()s and unlock()s the guarded Entry on stack-unwinding failures
Constructor & Destructor Documentation
◆ EntryGuard() [1/2]
|
inline |
◆ ~EntryGuard()
|
inline |
Definition at line 358 of file Store.h.
References entry_, and onException().
◆ EntryGuard() [2/2]
|
delete |
Member Function Documentation
◆ get()
|
inline |
◆ onException()
|
privatenoexcept |
Definition at line 2100 of file store.cc.
References context_, entry_, StoreEntry::releaseRequest(), SWALLOW_EXCEPTIONS, and StoreEntry::unlock().
Referenced by ~EntryGuard().
◆ unlockAndReset()
|
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().
Member Data Documentation
◆ context_
|
private |
Definition at line 387 of file Store.h.
Referenced by onException(), and unlockAndReset().
◆ entry_
|
private |
Definition at line 386 of file Store.h.
Referenced by EntryGuard(), get(), onException(), unlockAndReset(), and ~EntryGuard().
The documentation for this class was generated from the following files:
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products