CbcPointer< Cbc > Class Template Reference

#include <AsyncJob.h>

Inheritance diagram for CbcPointer< Cbc >:
Collaboration diagram for CbcPointer< Cbc >:

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 set () const
 was set but may be invalid More...
 
Cbc * valid () const
 was set and is valid More...
 
bool operator! () const
 invalid or was not set More...
 
bool operator== (const CbcPointer< Cbc > &o) const
 
CbcPointeroperator= (const CbcPointer &p)
 
CbcPointeroperator= (CbcPointer &&)
 
template<typename Other >
 CbcPointer (const CbcPointer< Other > &o)
 support converting a child cbc pointer into a parent cbc pointer More...
 
template<typename Other >
CbcPointeroperator= (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]

template<class Cbc >
CbcPointer< Cbc >::CbcPointer ( )

Definition at line 86 of file CbcPointer.h.

◆ CbcPointer() [2/5]

template<class Cbc>
CbcPointer< Cbc >::CbcPointer ( Cbc *  aCbc)

Definition at line 91 of file CbcPointer.h.

◆ CbcPointer() [3/5]

template<class Cbc>
CbcPointer< Cbc >::CbcPointer ( const CbcPointer< Cbc > &  p)

Definition at line 98 of file CbcPointer.h.

◆ CbcPointer() [4/5]

template<class Cbc>
CbcPointer< Cbc >::CbcPointer ( CbcPointer< Cbc > &&  d)

Definition at line 105 of file CbcPointer.h.

◆ ~CbcPointer()

template<class Cbc >
CbcPointer< Cbc >::~CbcPointer ( )

Definition at line 112 of file CbcPointer.h.

◆ CbcPointer() [5/5]

template<class Cbc>
template<typename Other >
CbcPointer< Cbc >::CbcPointer ( const CbcPointer< Other > &  o)
inline

Definition at line 50 of file CbcPointer.h.

Member Function Documentation

◆ clear()

◆ get()

◆ operator!()

template<class Cbc>
bool CbcPointer< Cbc >::operator! ( ) const
inline

Definition at line 42 of file CbcPointer.h.

◆ operator*()

template<class Cbc >
Cbc & CbcPointer< Cbc >::operator* ( ) const

Definition at line 169 of file CbcPointer.h.

◆ operator->()

template<class Cbc >
Cbc * CbcPointer< Cbc >::operator-> ( ) const

Definition at line 178 of file CbcPointer.h.

◆ operator=() [1/3]

template<class Cbc >
CbcPointer< Cbc > & CbcPointer< Cbc >::operator= ( const CbcPointer< Cbc > &  p)

Definition at line 118 of file CbcPointer.h.

Referenced by CbcPointer< Adaptation::Initiate >::operator==().

◆ operator=() [2/3]

template<class Cbc >
CbcPointer< Cbc > & CbcPointer< Cbc >::operator= ( CbcPointer< Cbc > &&  d)

Definition at line 130 of file CbcPointer.h.

◆ operator=() [3/3]

template<class Cbc>
template<typename Other >
CbcPointer& CbcPointer< Cbc >::operator= ( const CbcPointer< Other > &  o)
inline

Definition at line 57 of file CbcPointer.h.

◆ operator==()

template<class Cbc>
bool CbcPointer< Cbc >::operator== ( const CbcPointer< Cbc > &  o) const
inline

Definition at line 43 of file CbcPointer.h.

◆ print()

template<class Cbc >
std::ostream & CbcPointer< Cbc >::print ( std::ostream &  os) const

Definition at line 186 of file CbcPointer.h.

Referenced by CbcPointer< Adaptation::Initiate >::operator=().

◆ raw()

template<class Cbc >
Cbc * CbcPointer< Cbc >::raw ( ) const

Definition at line 155 of file CbcPointer.h.

Referenced by CbcPointer< Adaptation::Initiate >::operator=().

◆ set()

◆ valid()

template<class Cbc>
Cbc* CbcPointer< Cbc >::valid ( ) const
inline

Definition at line 41 of file CbcPointer.h.

Referenced by Format::Format::assemble(), UnaryCbdataDialer< Argument1 >::canDial(), Http::Tunneler::CbDialer< Initiator >::canDial(), FwdStatePeerAnswerDialer::canDial(), CbcPointer< Adaptation::Initiate >::CbcPointer(), Ssl::PeekingPeerConnector::checkForPeekAndSplice(), Ssl::PeekingPeerConnector::checkForPeekAndSpliceGuess(), Ssl::PeekingPeerConnector::checkForPeekAndSpliceMatched(), TunnelStateData::clientExpectsConnectResponse(), FwdState::completed(), FwdState::connectStart(), Comm::ConnOpener::DelayedConnectRetry(), Log::TcpLogger::DelayedReconnect(), Ipc::UdsSender::DelayedRetry(), downloaderRecipient(), IpCacheLookupForwarder::finalCallback(), IpCacheLookupForwarder::forwardIp(), IpCacheLookupForwarder::forwardLookup(), Ftp::Relay::handleControlReply(), Ssl::PeekingPeerConnector::handleServerCertificate(), Ssl::PeekingPeerConnector::initialize(), Adaptation::Initiate::initiator(), Comm::ConnOpener::InProgressConnectRetry(), PeerSelector::interestedInitiator(), Comm::AcceptLimiter::kick(), HttpRequest::manager(), netdbExchangeHandleReply(), PeerSelector::noteIps(), Ssl::PeekingPeerConnector::noteNegotiationDone(), PconnPool::notifyManager(), CbcPointer< Adaptation::Initiate >::operator!(), CbcPointer< Adaptation::Initiate >::operator=(), peerAlive(), peerDNSConfigure(), HttpRequest::pinnedConnection(), HttpStateData::processReplyBody(), PeerSelector::resolveSelected(), BodyPipe::scheduleBodyDataNotification(), BodyPipe::scheduleBodyEndNotification(), Ftp::Relay::sendCommand(), Ssl::PeekingPeerConnector::serverCertificateVerified(), Ftp::Relay::serverComplete(), ACLFilledChecklist::setRequest(), BodyPipe::startAutoConsumptionIfNeeded(), Security::PeerConnector::startCertDownloading(), Ftp::Relay::stopOriginWait(), Adaptation::Icap::Xaction::swanSong(), tunnelClientClosed(), tunnelServerClosed(), tunnelStartShoveling(), and Ftp::Relay::updateMaster().

Member Data Documentation

◆ cbc

◆ lock


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors