#include <AsyncJob.h>
![Inheritance graph](classCbcPointer__inherit__graph.png)
![Collaboration graph](classCbcPointer__coll__graph.png)
Public Member Functions | |
CbcPointer () | |
CbcPointer (Cbc *aCbc) | |
CbcPointer (const CbcPointer &p) | |
CbcPointer (CbcPointer &&) | |
~CbcPointer () | |
Cbc * | raw () const |
a temporary raw Cbc pointer; may be invalid More... | |
Cbc * | get () const |
a temporary valid raw Cbc pointer or NULL More... | |
Cbc & | operator* () const |
a valid Cbc reference or exception More... | |
Cbc * | operator-> () const |
a valid Cbc pointer or exception More... | |
bool | operator== (const CbcPointer< Cbc > &o) const |
CbcPointer & | operator= (const CbcPointer &p) |
CbcPointer & | operator= (CbcPointer &&) |
template<typename Other > | |
CbcPointer (const CbcPointer< Other > &o) | |
support converting a child cbc pointer into a parent cbc pointer More... | |
template<typename Other > | |
CbcPointer & | operator= (const CbcPointer< Other > &o) |
support assigning a child cbc pointer to a parent cbc pointer More... | |
void | clear () |
make pointer not set; does not invalidate cbdata More... | |
std::ostream & | print (std::ostream &os) const |
Private Attributes | |
Cbc * | cbc |
void * | lock |
Detailed Description
template<class Cbc>
class CbcPointer< Cbc >
Safely points to a cbdata-protected class (cbc), such as an AsyncJob. When a cbc we communicate with disappears without notice or a notice has not reached us yet, this class prevents dereferencing the pointer to the gone cbc object.
Definition at line 17 of file AsyncJob.h.
Constructor & Destructor Documentation
◆ CbcPointer() [1/5]
CbcPointer< Cbc >::CbcPointer |
Definition at line 86 of file CbcPointer.h.
◆ CbcPointer() [2/5]
CbcPointer< Cbc >::CbcPointer | ( | Cbc * | aCbc | ) |
Definition at line 91 of file CbcPointer.h.
◆ CbcPointer() [3/5]
CbcPointer< Cbc >::CbcPointer | ( | const CbcPointer< Cbc > & | p | ) |
Definition at line 98 of file CbcPointer.h.
◆ CbcPointer() [4/5]
CbcPointer< Cbc >::CbcPointer | ( | CbcPointer< Cbc > && | d | ) |
Definition at line 105 of file CbcPointer.h.
◆ ~CbcPointer()
CbcPointer< Cbc >::~CbcPointer |
Definition at line 112 of file CbcPointer.h.
◆ CbcPointer() [5/5]
|
inline |
Definition at line 50 of file CbcPointer.h.
Member Function Documentation
◆ clear()
void CbcPointer< Cbc >::clear |
Definition at line 144 of file CbcPointer.h.
Referenced by JobWaitBase::clear(), Adaptation::Initiator::clearAdaptation(), BodyPipe::clearConsumer(), BodyPipe::clearProducer(), FwdState::connectedToPeer(), IpCacheLookupForwarder::finalCallback(), FwdState::noteConnection(), TunnelStateData::noteConnection(), TunnelStateData::noteSecurityPeerConnectorAnswer(), CbcPointer< CbDataList >::operator=(), FwdState::tunnelEstablishmentDone(), and TunnelStateData::tunnelEstablishmentDone().
◆ get()
Cbc * CbcPointer< Cbc >::get |
Definition at line 159 of file CbcPointer.h.
Referenced by Format::Format::assemble(), FwdState::connectedToPeer(), copyResultsFromEntry(), UnaryCbdataDialer< Argument1 >::dial(), finishAndDeleteFetch(), PeerSelector::handlePath(), PeerPoolMgr::handleSecuredPeer(), Adaptation::Icap::Xaction::handleSecuredPeer(), netdbExchangeHandleReply(), FwdState::noteConnection(), TunnelStateData::noteConnection(), TunnelStateData::noteSecurityPeerConnectorAnswer(), Http::operator<<(), peerDigestFetchedEnough(), peerDigestFetchReply(), peerDigestRequest(), peerDigestSwapInCBlock(), peerDigestSwapInMask(), HttpRequest::pinnedConnection(), JobWaitBase::print(), Ftp::Relay::sendCommand(), ACLFilledChecklist::setRequest(), JobWaitBase::start_(), BodyPipe::status(), Ftp::Relay::stopOriginWait(), switchToTunnel(), tunnelConnectedWriteDone(), FwdState::tunnelEstablishmentDone(), TunnelStateData::tunnelEstablishmentDone(), Ftp::Relay::updateMaster(), Security::EncryptorAnswer::~EncryptorAnswer(), HappyConnOpenerAnswer::~HappyConnOpenerAnswer(), and Http::TunnelerAnswer::~TunnelerAnswer().
◆ operator*()
Cbc & CbcPointer< Cbc >::operator* |
Definition at line 166 of file CbcPointer.h.
◆ operator->()
Cbc * CbcPointer< Cbc >::operator-> |
Definition at line 175 of file CbcPointer.h.
◆ operator=() [1/3]
CbcPointer< Cbc > & CbcPointer< Cbc >::operator= | ( | CbcPointer< Cbc > && | d | ) |
Definition at line 130 of file CbcPointer.h.
◆ operator=() [2/3]
CbcPointer< Cbc > & CbcPointer< Cbc >::operator= | ( | const CbcPointer< Cbc > & | p | ) |
Definition at line 118 of file CbcPointer.h.
◆ operator=() [3/3]
|
inline |
Definition at line 57 of file CbcPointer.h.
◆ operator==()
|
inline |
Definition at line 43 of file CbcPointer.h.
◆ print()
std::ostream & CbcPointer< Cbc >::print | ( | std::ostream & | os | ) | const |
Definition at line 183 of file CbcPointer.h.
Referenced by operator<<().
◆ raw()
Cbc * CbcPointer< Cbc >::raw |
Definition at line 152 of file CbcPointer.h.
Referenced by CbcPointer< CbDataList >::operator=().
Member Data Documentation
◆ cbc
|
private |
Definition at line 72 of file CbcPointer.h.
Referenced by CbcPointer< CbDataList >::CbcPointer(), and CbcPointer< CbDataList >::operator=().
◆ lock
|
private |
Definition at line 73 of file CbcPointer.h.
Referenced by CbcPointer< CbDataList >::CbcPointer(), CbcPointer< CbDataList >::operator=(), and CbcPointer< CbDataList >::operator==().
The documentation for this class was generated from the following files:
- src/base/AsyncJob.h
- src/base/CbcPointer.h
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