|
Squid Web Cache master
|
Interface for those who need a list of peers to forward a request to. More...
#include <PeerSelectState.h>
Public Member Functions | |
| ~PeerSelectionInitiator () override=default | |
| virtual void | noteDestination (Comm::ConnectionPointer path)=0 |
| called when a new unique destination has been found | |
| virtual void | noteDestinationsEnd (ErrorState *error)=0 |
| void | startSelectingDestinations (HttpRequest *request, const AccessLogEntry::Pointer &ale, StoreEntry *entry) |
| virtual void * | toCbdata ()=0 |
Public Attributes | |
| bool | subscribed = false |
| whether noteDestination() and noteDestinationsEnd() calls are allowed | |
Private Member Functions | |
| virtual void | finalizedInCbdataChild ()=0 |
| hack: ensure CBDATA_CHILD() after a toCbdata()-defining CBDATA_INTERMEDIATE() | |
Definition at line 32 of file PeerSelectState.h.
|
overridedefault |
|
privatepure virtualinherited |
|
pure virtual |
Implemented in FwdState, and TunnelStateData.
|
pure virtual |
called when there will be no more noteDestination() calls
| error | is a possible reason why no destinations were found; it is guaranteed to be nil if there was at least one noteDestination() call |
Implemented in FwdState, and TunnelStateData.
| void PeerSelectionInitiator::startSelectingDestinations | ( | HttpRequest * | request, |
| const AccessLogEntry::Pointer & | ale, | ||
| StoreEntry * | entry | ||
| ) |
Initiates asynchronous peer selection that eventually results in zero or more noteDestination() calls and exactly one noteDestinationsEnd() call.
Definition at line 330 of file peer_select.cc.
References peerSelect(), and subscribed.
Referenced by FwdState::start(), and tunnelStart().
|
pure virtualinherited |
Referenced by AsyncJob::callException(), and AsyncJob::callStart().
| bool PeerSelectionInitiator::subscribed = false |
Definition at line 46 of file PeerSelectState.h.
Referenced by TunnelStateData::commitToServer(), FwdState::noteDestinationsEnd(), TunnelStateData::noteDestinationsEnd(), FwdState::reforward(), TunnelStateData::retryOrBail(), TunnelStateData::sendError(), startSelectingDestinations(), FwdState::stopAndDestroy(), and FwdState::useDestinations().